我正在使用 GZIPStream 和 MemoryStream 压缩一个 CSV 文件,并注意到结果文件有些奇怪。似乎 CSV 没有被正确识别。这显示文件何时附加到电子邮件,但在保存在 Windows 桌面上时工作正常。
这是处理 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);
}
}