2015-04-30 96 views
0

AM實現在辦公室中的ASP.NET Web應用程序的功能,讓人們上傳的zip文件,其中有一個xml文件導入到數據庫中。使用.NET 4.5的ZipFile,無法解壓縮與Windows拉鍊拉鍊文件(點擊右鍵發送到壓縮)

的問題是,我使用System.IO.Compression.ZipFile時出現此錯誤:

"Number of entries expected in End Of Central Directory does not correspond to number of entries in Central Directory."

,當我使用System.IO.Compression.DeflateStream,我得到這個錯誤:

"Block length does not match with its complement."

無法在Windows拉鍊使用相同的庫?壓縮格式/算法是否與.Net到Windows zip不同?

,如果任何人都可以提出一個解決方案,我將感謝。

+0

你試過ionic.zip? – CodesInChaos

+0

.zip存檔中的目錄已損壞。它位於文件的末尾,當您沒有正確上傳文件時,它總是一個引起麻煩的好地方。 –

+0

@CodesInChaos剛剛下載它,我會去給它一個。 –

回答

0

,這可能是在放氣,拉鍊等支持.NET實現yetanotherbug。您應該嘗試使用DotNetZip

+0

是不是真的太難了?大聲笑 –

0

我發現這個問題,似乎沒有什麼錯.NET庫解壓縮文件,問題與該文件被上傳到我的asp.net應用程序後寫入到磁盤的方式,利用編碼問題是到位後,由於我將確切字節寫入磁盤,因此我可以使用.Net庫將其解壓縮。

感謝大家的貢獻。

相關問題