我正在使用角度$ http从服务器下载文件。文件类型可以不同。我应该设置请求标头以进行身份验证。下载完成后,文件已损坏!这是我在客户端保存文件的代码:
getFile: function(file) { $http({ method: 'GET', url: 'download' + "/" + file.name, headers: { "X-AUTH-TOKEN": "my-token", Accept: "*/*", } }).success(function(data) { var fileBlob = new Blob([data], { type: '*/*;charset=utf-8' }); saveAs(fileBlob, file.name); }).error(function(err) { console.log('err', err); }); }
我最终通过将以下配置添加到ajax请求中解决了该问题:
dataType : "binary", processData : false, responseType : 'arraybuffer'
并将Blob类型更改为
“应用程序/八位字节流”