日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

jszip压缩服务器文件,使用JSZip压缩驻留在服务器上的PDF

發布時間:2025/4/5 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jszip压缩服务器文件,使用JSZip压缩驻留在服务器上的PDF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對不起,在這篇文章中缺少鏈接:這是我在stackoverflow上的第一篇文章,正如錯誤消息所說,“[我]需要至少10個聲望才能發布2個以上的鏈接。”

下載PDF(或任何二進制文件),你可以使用xhr.responseType = "arraybuffer"來獲取原始內容(警告:這不會在IE 6-9的工作,更對下文)。你不能使用jQuery來做到這一點(但請參閱github.com/jquery/jquery/pull/1525),但是原始xhr查詢或處理二進制數據的任何ajax庫都可以使用。例如jszip-utils在github.com/Stuk/jszip-utils(免責聲明:我是該庫的貢獻者)。

下面是代碼:

此功能使用JSZipUtils,結果包裝成能夠返回一個ArrayBuffer或Uint8Array將工作jQuery.Deferred但任何圖書館。

/**

* Fetch the content, add it to the JSZip object

* and use a jQuery deferred to hold the result.

* @param {String} url the url of the content to fetch.

* @param {String} filename the filename to use in the JSZip object.

* @param {JSZip} zip the JSZip instance.

* @return {jQuery.Deferred} the deferred containing the data.

*/

function deferredAddZip(url, filename, zip) {

var deferred = $.Deferred();

JSZipUtils.getBinaryContent(url, function (err, data) {

if(err) {

deferred.reject(err);

} else {

zip.file(filename, data, {binary:true});

deferred.resolve(data);

}

});

return deferred;

}

這是主要的功能,它采用FileSaver.js為saveAs一個填充工具:

var $form = $("#download_form").on("submit", function() {

var zip = new JSZip();

var deferreds = [];

// find every checked item

$(this).find(":checked").each(function() {

var url = $(this).data("url");

var filename = url.replace(/.*\//g, "");

deferreds.push(deferredAddZip(url, filename, zip));

});

// when everything has been downloaded, we can trigger the dl

$.when.apply($, deferreds).done(function() {

var blob = zip.generate({type:"blob"});

// see FileSaver.js

saveAs(blob, "example.zip");

}).fail(function (err) {

// handle the error here

});

return false;

});

注意對IE 6-9:jszip和jszip-utils的支持IE 6-9,但沒有ArrayBuffer/Uint8Array,你會得到糟糕的表演。

總結

以上是生活随笔為你收集整理的jszip压缩服务器文件,使用JSZip压缩驻留在服务器上的PDF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。