2014-12-31 58 views
0

美好的一天!Angularjs:創建鏈接以下載不同類型的文件

我無法解決我的問題 - 創建鏈接下載附件。 我從xml中的SOAP服務接收的文件,因此我必須創建一個鏈接以下載文件。

我現在擁有的一切:

在控制器:創建

//creating comments 
 
for (var index in $scope.comments){ 
 
        var com = $scope.comments[index] 
 
        if (com.z2AF_Work_Log01_attachmentName !== undefined){ 
 
         var a   = document.createElement('a'); 
 
         a.target  = '_blank'; 
 
         a.download = com.z2AF_Work_Log01_attachmentName; 
 
         a.innerText = com.z2AF_Work_Log01_attachmentName; 
 

 
         var blob = new Blob([ atob(com.z2AF_Work_Log01_attachmentData) ], 
 
         { type : 'zip' }); 
 
         //com.href = (window.URL || window.webkitURL).createObjectURL(blob); 
 
         a.href = (window.URL || window.webkitURL).createObjectURL(blob);; 
 
         com.attachment_link = a.outerHTML; 
 

 
        } 
 
        }

鏈接,但如果我沒有純文本(CSV),下載後的文件被破壞。當我下載CSV - 一切正常。

模板:

.attach ng-bind-html="comment.attachment_link | notSanit"

回答

0

3天后的研究,我找到了解決辦法:

var decodeString = unescape(atob(attchment_data)); 
 
var ab = new ArrayBuffer(decodeString.length); 
 
var ia = new Uint8Array(ab); 
 
for (var i = 0; i < decodeString.length; i++) { 
 
    ia[i] = decodeString.charCodeAt(i); 
 
} 
 

 
var blob = new Blob([ab]); 
 

 
href = (window.URL || window.webkitURL).createObjectURL(blob);

相關問題