Pārlūkot izejas kodu

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 gadi atpakaļ
vecāks
revīzija
ebf946ada5
1 mainītis faili ar 11 papildinājumiem un 1 dzēšanām
  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)
-	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