我正在使用DotNetZip將多個MemoryStreams添加到單個存檔。到目前爲止,我的代碼在我選擇1或2個文件時起作用,但如果我添加更多,則不起作用。我發現不同的是CRC32對於那些不好的檔案都是00000000。這是關於檔案大小的東西嗎?任何幫助表示讚賞! 我在C#中的代碼:DotNetZip如何修復0000000 CRC32問題?
foreach(.....){
var zipEntryName=.....//Get the file name in string;
var UDocument = .....//Get a object
var UStream = UDocument .GetStream();
UStream.Seek(0, SeekOrigin.Begin);
ZipEntry entry = zipFile.AddEntry(zipEntryName,UStream);
}
var outputStream = new MemoryStream();
outputStream.Seek(0, SeekOrigin.Begin);
zipFile.Save(outputStream);
outputStream.Flush();
return outputStream;
你會得到什麼錯誤? – JMK
沒有錯誤來生成zip文件,但是當你打開它時,會發生錯誤。 –
實際上,當您解壓縮zip文件時,它表示存檔文件格式未知或已損壞。但是,如果foreach循環中只有2個或1個項目,則不會有任何問題。 –