The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

使用 DotNetZip 解壓縮為 Stream 時讀不到檔案內容的陷阱

我們有個案子,因為會需要製作檔案上傳功能,但商品的圖片很多,除了單張圖片上傳外,也允許讓客戶批次上傳圖片,只要客戶先把大量圖片壓縮成 *.zip 檔案,上傳到我們製作的後台後,就會利用 DotNetZip 套件,將客戶上傳的壓縮檔 ( *.zip ) 解壓縮,並將檔案一一上傳到 Windows Azure 雲端的 儲存體 (Storage) 上。基本上,這功能很簡單,隨便 Google 一下都有得抄 code,同事也很自然的抄了一段 code,測試無誤就放上,誰知道,同一段看似沒問題的 code,在不同的使用情境下,還是會出現 Bug,魔鬼總在細節裡,讓我們繼續斬妖除魔去。

... 繼續閱讀 ...

在 Mac 電腦壓縮含有中文檔名的 ZIP 檔案如何正確在 Windows 下解壓縮

我們公司合作的網頁設計師使用的 Mac 電腦不是 MBP (MacBook Pro) 就是 MBA (MacBook Air),有些已經很習慣用 Dropbox 交換檔案,不過還是有些設計師並沒有在用,而會直接透過壓縮檔的方式當成附件寄出,在 Mac 電腦裡內建的壓縮格式為十分常見的 ZIP 檔案格式,但是有個問題卻一直困擾著我,那就是他們在 Mac 電腦上壓縮過的 ZIP 檔案跟 Windows 常見的壓縮編碼不相容,如果壓縮檔裡的檔案檔名含有任何非英文的字元(例如中文檔名),解壓縮時就會發生嚴重的亂碼問題,直到這幾天我才找到解決方法。

... 繼續閱讀 ...

介紹幾款好用的壓縮函示庫:SharpZipLib 與 DotNetZip

在專案中或多或少都有機會遇到需要處理壓縮檔的情況,而一般最常見的壓縮格式就是 ZIP 格式,雖然有人愛用 RAR 格式,但因為若要建立 RAR 壓縮檔時,只能用 WinRAR 軟體,而這是個需付費的商業軟體,所以我本身很不愛用,大多僅使用 ZIP7-Zip 等較為開放的壓縮格式。

... 繼續閱讀 ...