我将尝试使用以下代码用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/

10-11 22:17
查看更多