我将尝试使用以下代码用106个图像(675MB)的DotNetZip-Libary创建一个zip文件:
Public Function GetZip() As Byte()
Dim zip As New Ionic.Zip.ZipFile(String.Format("{0}.zip", Me.GallerySystemName))
AddHandler zip.SaveProgress, AddressOf SaveProgress
For Each img In Me.Images
zip.AddFile(img.OriginalFile.FullName, "")
Next
Dim bytZip As Byte()
Using ms As New MemoryStream
zip.Save(ms)
bytZip = ms.ToArray
End Using
Return bytZip
End Function
当我运行此代码时,执行通常在图像40(有时更早)处停止,没有任何异常。没发生什么事。我试图将zip直接保存到文件中。有用。
有任何想法吗?
一月
最佳答案
在保存zip文件之前,将zip对象的属性ParallelDeflateThreshold
设置为-1
。
zip.ParallelDeflateThreshold = -1
REF:http://forums.codeguru.com/showthread.php?534177-Issue-with-DotNetZip-ionic.zip-class-hanging-on-save
关于vb.net - Ionic.Zip(DotNetZip)与IO.MemoryStream的保存方法一起挂起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4708356/