我有以下问题。
我需要发送多个作为JSON请求的一部分附加的文件并将其保存到数据库中。
遵循以下步骤:
下载从数据库检索的文件时出现问题。
我编写了一个控制器方法来从数据库返回byte []并使用XMLHttpRequest,我正在尝试保存文件。但是在打开保存的文件时出现文件损坏错误。
下面是我的javascript代码:
var request = new XMLHttpRequest();
request.open("POST", 'getAttachment/'+idTemp, true);
request.responseType = "blob";
request.onload = function (e) {
if (this.status === 200) {
// `blob` response
console.log(this.response);
var arr = this.response;
var byteArray = new Uint8Array(arr);
// create `objectURL` of `this.response` : `.pdf` as `Blob`
var file = window.URL.createObjectURL(new Blob([byteArray]));
var a = document.createElement("a");
a.href = file;
a.download = this.response.name || fileNameTemp;
document.body.appendChild(a);
a.click();
}
}
request.send();
请注意,必须存储和下载所有类型的文件。