通过FTP传输加密文件,解密时损坏

时间:2012-10-28 21:26:31

标签: c# ftp

使用下面的代码我正在尝试将加密文件上传到FTP服务器。 从ftp服务器下载文件时,它们都已损坏。

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(
    user, 
    pass);

StreamReader sourceStream = new StreamReader(tempfilepath);
byte[] fileContents = ASCIIEncoding.ASCII.GetBytes(sourceStream.ReadToEnd()); // uploads corrupted files
//byte[] fileContents = File.ReadAllBytes(tempfilepath);
sourceStream.Close();
request.ContentLength = fileContents.Length;

Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();

// Shows confirm message
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();

有任何疑问可能是什么问题?

2 个答案:

答案 0 :(得分:2)

看起来你正在将任意二进制数据读入StreamReader 不要那样做。

StreamReader阅读文字;将原始二进制数据传递到StreamReader将丢弃所有无效的代码点。

相反,您应该完全使用Streambyte[]

答案 1 :(得分:0)

问题解决了......不幸的是,这是一个非常愚蠢的问题,所以它不会真正帮助任何人。 我实际上是在上传未加密的文件,所以当我解密它时,显然它不会起作用。