Re: [問題] 一次下載多筆資料庫的image資料

看板C_Sharp (C#)作者 (阿里山 我來了XD~)時間9年前 (2016/05/23 22:42), 9年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
之前寫過從DB撈檔案後用7z壓縮 然後把壓縮後的stream丟到網頁給使用者下載 使用的lib叫"SharpZipLib" 缺點就是要把7z的dll檔丟進去專案資料夾內 (可能可以用nuget,但是當時沒這樣處理) 大致上如下: ------------- 懶得幫code上色了0rz ------------ // dllPath就是對應到7z.dll的絕對位置 // 可能會長這個樣子:"c:/project/wwwroot/7z.dll" // 要考慮到如果是在x64的環境下,要用7zx64.dll var memoryStream = new MemoryStream(); SevenZipBase.SetLibraryPath(dllPath); var zipCompressor = new SevenZipCompressor { ArchiveFormat = OutArchiveFormat.SevenZip, CompressionMode = CompressionMode.Create, DirectoryStructure = false }; var dictForComporess = new Dictionary<string, Stream>(); // dbFiles是已經從db讀出來的List<自訂類別DbFile> dbFiles.ForEach(file => { // file.FileContent是byte[] var stream = new MemoryStream(file.FileContent); dictForComporess.Add(file.FileName, stream); }); zipCompressor.CompressStreamDictionary(dictForComporess, memoryStream); ----------- 我是分隔線 --------- 當初有試過用.net內建(還是windows內建的?)的zip lib 但是QA(使用Mac)反應:解開後檔名是亂碼 所以後來改成用7z打包 以上,給您參考 也請各位前輩先進能給予指點<(_ _)> ※ 編輯: J002 (118.165.31.108), 05/23/2016 22:43:17 ※ 編輯: J002 (118.165.31.108), 05/23/2016 22:50:09

05/30 00:35, , 1F
謝謝
05/30 00:35, 1F
文章代碼(AID): #1NGnRgKB (C_Sharp)
文章代碼(AID): #1NGnRgKB (C_Sharp)