2015-09-23 68 views
0

我打电话给一个API并返回一个文件的字节数组,名称,文档类型和MIME类型,并尝试添加Javascript来下载此文件。Javascript下载文件字节数组

我已将所有代码连线并下载文件,但文件为空。我使用下面的代码:

result.success(function (data, status, headers, config) { 

      var arr = data.Document; 
      var byteArray = new Uint8Array(arr); 

      var a = window.document.createElement('a'); 

      a.href = window.URL.createObjectURL(new Blob([byteArray], { type: data.MimeType})); 
      a.download = agreementId+data.DocType; 

      // Append anchor to body. 
      document.body.appendChild(a); 
      a.click(); 


      // Remove anchor from body 
      document.body.removeChild(a); 
     }); 

我试过相同的代码无需转换Uint8Array但这只是打开与它的二进制数据,接近但也不能令人信服的文档。例如,我得到一个包含以下文字文档的下载: 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAATwAAAAAAAAAAEAAAUQAAAAEAAAD + //// AAAAAE4AAAD ///////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////////// spcEAJ2AJBAAA

ect

回答