0

以下のコードを使用して、暗号化されたファイルを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();

何が問題になるのか、何か手がかりはありますか?

4

2 に答える 2

2

任意のバイナリデータをに読み込んでいるようですStreamReader
そうしないでください。

StreamReader■テキストを読む。生のバイナリデータをStreamReaderに渡すと、無効なコードポイントがすべて削除されます。

Stream代わりに、またはで純粋に作業する必要がありますbyte[]

于 2012-10-28T21:32:06.387 に答える
0

問題は解決しました...残念ながら、それは非常にばかげた問題だったので、実際には誰の助けにもなりません。私は実際には暗号化されていないファイルをアップロードしていたので、復号化すると明らかに機能しません。

于 2012-10-29T17:52:18.827 に答える