我使用此代码接收列表base64并打印多个pdf文件,我通过将每个base64转换为arraybuffer到blob pdf来处理这个问题。但它有错误创建临时文件失败18:确定某些文件对Web应用程序内的访问不安全,或者对文件资源进行了太多调用。 多次传递base64时。
$scope.b64toBlob = function (b64Data, contentType, sliceSize) {
contentType = contentType || '';
sliceSize = sliceSize || 1024;
var byteCharacters = atob(b64Data);
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
var blob = new Blob(byteArrays, {type: contentType});
return blob;
}
return $http.post(api, params).then(function(response) {
$scope.isSaving = false;
var datas = response.data;
for(var i = 0; i < datas.length; i++) {
var uint8Array = new Uint8Array(datas[i]);
var arrayBuffer = uint8Array.buffer;
var file = $scope.b64toBlob(datas[i], typeReport);
var fileURL = window.URL.createObjectURL(file);
window.open(fileURL);
}
$scope.clear();
}, function(){
$scope.isSaving = false;
});
抱歉我的英文。谢谢你的帮助。