Browse Source

Switch to binary mode once logged-in.

Data transfer in binary mode works for both ASCII and binary (such as JPEG
images) files. Therefore it should be the default.

Fixes #3
Julien Laffaye 12 years ago
parent
commit
ebf946ada5
1 changed files with 11 additions and 1 deletions
  1. 11 1
      ftp.go

+ 11 - 1
ftp.go

@@ -61,7 +61,17 @@ func (c *ServerConn) Login(user, password string) error {
 	}
 	}
 
 
 	_, _, err = c.cmd(StatusLoggedIn, "PASS %s", password)
 	_, _, err = c.cmd(StatusLoggedIn, "PASS %s", password)
-	return err
+	if err != nil {
+		return err
+	}
+
+	// Switch to binary mode
+	_, _, err = c.cmd(StatusCommandOK, "TYPE I")
+	if err != nil {
+		return err
+	}
+
+	return nil
 }
 }
 
 
 // Enter extended passive mode
 // Enter extended passive mode