OutputStream os=response.getOutputStream();
//输出流
//doc为创建的XWPFdocument 对象
doc.write(os);
os.flush();
os.close();
前台接收数据为乱码,加了一个
response.setContentType("application/octet-stream");
前台使用XMLHttpRequest 接收Word文件
//确定上传文件之后,返回可下载文件流,并弹出保存框
function f() {
var excelFile = $("#upload").get(0).files[0];
var dataForm = new FormData();
dataForm.append("file",excelFile);
const xhr = new XMLHttpRequest();
xhr.open('POST', "/uploadFile", true);
xhr.responseType = "blob";
xhr.send(dataForm);
xhr.onload = () => {
if (xhr.getResponseHeader("Content-type") === 'application/octet-stream') {
let url = window.URL.createObjectURL(xhr.response);
let a = document.createElement("a");
a.href = url;
a.style.display = 'none'
a.download = "文件名.docx";
a.click();
window.URL.revokeObjectURL(url);
a.remove();
}else{
alert("失败");
}
}
}
这里做的是上传Excel文件,在java中处理数据转为word文件,返回前台弹框保存框。
其中 dataForm 是传入后台数据。



