[英]How to convert the byte code to zip file in javascript
即時通訊使用以下代碼將字節碼轉換為zip文件,但它並未下載響應中發送的實際xml和asc文件,而是僅下載了標准zip內容,即時通訊不知道我要去哪里了,任何人都可以幫忙我這樣
$http({
url:url,
method: requestType,
data:requestBody?requestBody:"",
headers: {
'Content-type': "application/json",
"SessionID":$rootScope.token
},
responseType: 'arraybuffer'
}).success(function (data, status, headers, config) {
let blob = new Blob([data], {type: "application/zip"});
let objectUrl = URL.createObjectURL(blob);
let link = document.createElement('a');
link.href = objectUrl;
link.download = fileName;
link.click();
window.URL.revokeObjectURL(link.href);
$scope.exp = {}; // to reset the export form after submit.
$scope.surveyReportdownloading = false;
$scope.tabActive = false;
}).error(function (error) {
//upload failed
console.log(error);
});
這根本不下載實際文件。 誰能幫我這個忙。 后端團隊發送的字節碼如下。
"PK:8xJMÆVÞ|xl/workbook.xml ¢( ÍnÂ0ïúÖ>@MpR¸{C,²vdѾ}CR¢¶'n;³³fË«u磵göIñ« ¡+8÷²AþÅvhú]mÐKwⶮµÄBxEwØ ñî<´GX¾s(oµ#6°|~b¬¼5;h¼úAöƽîÍd|ñ¿©rMbFVð~!îØ`nT10Wè~Ø4SäiÅÑ,ÇWøÁÿC|¼í¶ëÃzûL/ó4KËYZG0U:üþÂòPK:8xJnmt?Ø[Content_Types].xml ¢( ÅMNÃ0¯y·] vl¡\À²'ÕøGIiÏÆ#q& TUЪº²lÏ{ßõä·÷é|ãl
mð¥#×ÁX¿,EKU~#æ³éË6f\ê±5Q¼u
Na“x¾©Brx2 *½RKÑèZêà<åÔyÙôÕ6 =løxÀ²\\ dwC] ±±Z_˵7¿yè*ÁÝ:?(5¹¦××)ë¯zc¹Áã_S¬ìk°¶w'〜Ädd?èQ9öF¾´ êBÙ/ãâ¼ÃîüÿkiÛ>þfå“Ç㿽Sç=ÉÞ'? ] d£áºEîdþ`s(}Oâ&K \\gJü= x?½wÈþ} PK 38xJ£²×?rels / .rels¢(PK:8xJILE@¥¶xl/worksheets/sheet1.xml¢(¥¥rÇEÅ÷ èn\\ U \\¡\\q®ª%^ ÿþõË́ûà /·W»Ýñì?ÿ|“
任何幫助表示贊賞。 謝謝!
似乎問題出在type
參數上,請嘗試以下代碼
您可以從headers
訪問content-type
。
如果不起作用,請嘗試使用application/zip, application/octet-stream
$http({
url: url,
method: requestType,
data: requestBody ? requestBody : "",
headers: {
'Content-type': "application/json",
"SessionID": $rootScope.token
},
responseType: 'arraybuffer'
}).success(function(data, status, headers, config) {
let blob = new Blob([data], {
type: headers['content-type']
// OR
// type:"application/zip, application/octet-stream"
});
let objectUrl = URL.createObjectURL(blob);
let link = document.createElement('a');
link.href = objectUrl;
link.download = fileName;
link.click();
window.URL.revokeObjectURL(link.href);
$scope.exp = {}; // to reset the export form after submit.
$scope.surveyReportdownloading = false;
$scope.tabActive = false;
}).error(function(error) {
//upload failed
console.log(error);
});
var blob = new Blob([response.data],{type:headers['content-type']});
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "Filename";
link.click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.