2017-03-24 4 views
0

次のコードを使用してバイトコードをzipファイルに変換しますが、実際のxmlファイルとascファイルをダウンロードしません。代わりに標準のzipをdonwloadsします内容は、イムない意識し、私が間違ってつもりだ、誰もこれで私を助けることができる、バイトコードを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); 
}); 

これがすべてでは、実際のファイルをダウンロードされていません。誰もがこれを通じて私を助けることができます。バイトコードethatバックエンドチームは次のように送信します。

"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¹|è×Â)ë¯zc¹AA_S¬ìk°¶ W '〜広告 dèQ9öF¾'êBÙ/ãâ¼ÃîüÿkiÛ> THFA」Ç㿽Sç= ETH'] D£áºEは îdþ`s(OA} & K \gJü= X?½wÈþ} PK 38xJ£²×のrelsを/¢を.rels (PK:[email protected]¥¶xl/worksheets/sheet1.xml¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯¡ありがとう!ありがとう!

+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

それは働きますが、多くの助けがありますが、どのように皮肉なことに、私たちがタイプセクションでも与えているサンの評価ですが、それはうまくいきます!ありがとう:) –

関連する問題