Javascript 使用ajax调用将base64字节数组下载到文件中
我有以下问题 我需要发送多个附加文件作为JSON请求的一部分,并将其保存到数据库中 遵循以下步骤:Javascript 使用ajax调用将base64字节数组下载到文件中,javascript,java,jquery,ajax,spring-mvc,Javascript,Java,Jquery,Ajax,Spring Mvc,我有以下问题 我需要发送多个附加文件作为JSON请求的一部分,并将其保存到数据库中 遵循以下步骤: 将上载的文件转换为base64字符串,并与其他值一起包含在JSON中 在服务器端,使用java将base64字符串转换为byte[]并存储在数据库中 下载从数据库检索的文件时出现问题 我已经编写了一个控制器方法来从数据库返回字节[],并使用XMLHttpRequest尝试保存该文件。但是在打开保存的文件时出现文件损坏错误 下面是我的javascript代码: var req
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();
请注意,必须存储和下载所有类型的文件