下午好。我正在尝试使用 C# 将 ZIP 存档上传到 ftp 服务器。
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(@"ftp://xx.xxx.xxx.xx/Temp/"+ fname);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UseBinary = true;
request.Credentials = new NetworkCredential("root","once");
StreamReader sourceStream = new StreamReader(@"C:\pract.zip");
byte[] fileContents =
Encoding.ASCII.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
归档是在 Ionic 的帮助下进行的。存档本身已正确创建并打开。但是在将存档传输到服务器后,存档会损坏,打开时会出现错误“存档已损坏”。我知道问题出在编码上,但我不明白如何正确实现传输。
改用.
FileStream
_ 然后它会是这样的:StreamReader