2017-03-24 106 views
0

使用以下代碼將字節代碼轉換爲zip文件,但它不會下載響應中發送的實際xml和asc文件,而只是將標準zip文件內容,即時通訊不知道我要去的地方錯了,任何人都可以幫我這個,如何將字節代碼轉換爲javascript中的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 

娜「x¾©Brx2 *½RKÑèZêà<åÔyÙôO6 =løxÀ²\ DWC]±±Z_Ëμ7¿Y *«AY:(5¹|è×A)ë¯zc¹AA_S¬ìk°¶ W '〜AD dèQ9öF¾'êBÙ/ãâ¼ÃîüÿkiÛ> THFA「Ç㿽Sç= ETH']天£áºE îdþ`s(} OA &ķ\ GJU = X?½wÈþ} PK 38xJ£²×RELS /的.rels¢ (PK:[email protected]¥¶xl/worksheets/sheet1.xml¢(¥ÛrÇEÅ÷EN \ U \¡\q®ª%^ÿþõ˯ûÃ/·W»Ýñìÿ|」

任何幫助讚賞。謝謝!

+0

什麼是你從服務器端獲取? zip文件或單個文件 –

+0

即時獲取我已經寫在問題中的字節代碼響應, –

+0

我可以理解您正在獲取字節代碼響應,但我詢問該字節代碼究竟代表什麼? –

回答

1

好像問題出在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(); 
+0

它的工作,很多的幫助,但它有多諷刺,它也是我們在類型部分給出的san evalue,但它的功效!謝謝:) –

相關問題