怎麼在在程式中將檔案壓成ZIP檔,再取得base64的字串? |
尚未結案
|
cindyliu
一般會員 發表:16 回覆:18 積分:6 註冊:2008-09-17 發送簡訊給我 |
我在網路上找到一篇把檔案壓縮成ZIP檔的函數...
http://www.xuedelphi.cn/wenzhang/yytg/2009/01/200901052759.htm [code delphi] implementation {$R *.dfm} uses Zlib; procedure Zip(var fs: TMemoryStream); var cs: TCompressionStream; ms: TMemoryStream; num: Integer; begin if not(Assigned(fs) and (fs.Size>0)) then Exit; num := fs.Size; ms := TMemoryStream.Create; cs := TCompressionStream.Create(clMax, ms); try fs.SaveToStream(cs); cs.Free; //ms.Position := 0; fs.Clear; fs.WriteBuffer(num, sizeof(num)); fs.CopyFrom(ms, 0); finally ms.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var ms: TMemoryStream; begin ms := TMemoryStream.Create; ms.LoadFromFile('C:\25K.doc'); Zip(ms); ms.SaveToFile('C:\25K.ZIP'); end; [/code] 照著方法做檔案的確是有變小... 可是回到資料夾,檔案DoubleClick 就會出現「這個壓縮檔不是未知的格式就是損壞」的錯誤訊息 請問這是什麼原因?或是有什麼其他方法也能壓縮的... 我程式的目的主要是要把資料夾底下的檔案壓縮成zip檔之後, 再把zip檔BASE64之後的字串夾帶到xml的tag裡.. |
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |