私はGZIPStreamとMemoryStreamを利用してCSVファイルを圧縮しています。 CSVが正しく認識されていないようです。これは、ファイルが電子メールに添付されているときに表示されますが、Windowsデスクトップに保存すると正常に動作します。ここでGZIPストリームとメモリストリームを利用したCSVの適切な圧縮
はgzipの部分を扱う現在の抜粋です:
GZipStream gStream = null;
MemoryStream mStream = null;
MemoryStream mStream2 = null;
try
{
if (attachment.Length > 0)
{
mStream = new MemoryStream();
gStream = new GZipStream(mStream, CompressionMode.Compress);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(attachment.ToString());
gStream.Write(bytes, 0, bytes.Length);
gStream.Close();
mStream2 = new MemoryStream(mStream.ToArray());
Attachment emailAttachement = new Attachment(mStream2, "myGzip.csv.gz", "application/x-Gzip");
mailMessage.Attachments.Add(emailAttachement);
}
}
何のショー?意外にも何が起こったのですか?コードはどのように見えますか? *何か*?メモリストリームを使用している場合、rsult [sic]ファイルは何ですか? –
Btw、盲目的に推測しなければならない場合:メモリストリームでToArray()を呼び出す前にgzipストリームが閉じられていない –
コードをインクルードしました。私たちが気づいているのは、GZIPファイルを開いたとき(電子メールに添付されているとき)、圧縮されたファイルは.csvファイルではないということです。 – GeorgeU