私はFTP経由でサーバーからファイルをダウンロードするためにこのコードを使用しています。それは(PDF、HTML、JPG ...)ほとんどすべての拡張子を持つ正常に動作しますが、何らかの理由で、すべてのzipファイルには、いくつかのerrosでダウンロードされます。Monotouch - FTP(oly zipファイル)によるダウンロード時のエラー
public static FtpStatusCode Download(string destinationFile, Uri downloadUri, string userName, string password)
{
try
{
if (downloadUri.Scheme != Uri.UriSchemeFtp)
{
throw new ArgumentException("Invalid FTP site");
}
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(downloadUri);
ftpRequest.Credentials = new NetworkCredential(userName, password);
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
ftpRequest.UseBinary =true;
ftpRequest.UsePassive = true;
FtpWebResponse ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
Stream stream = null;
StreamReader reader = null;
StreamWriter writer = null;
try
{
stream = ftpResponse.GetResponseStream();
reader = new StreamReader(stream, Encoding.UTF8);
writer = new StreamWriter(destinationFile, false);
writer.Write(reader.ReadToEnd());
return ftpResponse.StatusCode;
}
finally
{
stream.Close();
reader.Close();
writer.Close();
}
}
catch (Exception ex)
{
throw ex;
}
}
誰もがその理由を知っていますか解決策を伝えることができますか?あなたは、あなたの情報を転送するためのStreamReaderを使用している有効なUTF8コードでないバイナリデータを復号化され、UCS2の行にそれを変換し、その結果を再エンコード
よろしく、
クラウディオ
なぜ 'Encoding.UTF8'を設定しますか? – Gabe
ダウンロードしているファイルの中には、UTF8にする必要があるものがあります。しかし、このエンコーディングがなくても、zipファイルは間違っています。 – Claudio