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