linux怎么查看本机内存大小
520
2022-10-31
使用spring框架ResponseEntity实现文件下载
目录spring框架ResponseEntity实现文件下载后台代码ResponseEntity免压缩多文件下载免压缩批量文件下载
spring框架ResponseEntity实现文件下载
后台代码
@RequestMapping("downLoad")
public ResponseEntity
String fileName = "企业诚信守法承诺书.pdf";
try {
byte[] pdf = **;//byte文件
String dfileName = new String(fileName.getBytes("gb2312"), "iso8859-1");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", dfileName);
return new ResponseEntity<>(pdf, headers, HttpStatus.OK);
} catch (BuzEx e){
logger.error( e.getMessage());
}catch (Exception e) {
}
return null;
}
前端直接window.location.href='/downLoad';
ResponseEntity免压缩多文件下载
免压缩批量文件下载
后台ResponseEntity代码还是一次请求下载一个
前台js改为发出多个请求
js中先用数组储存需要下载的文件参数信息,然后循环数组执行下载方法,下载方法则先ajax判断文件是否存在,是则动态创建a标签批量下载文件
//获得文件数组ids后 循环下载方法
$.each(ids,function(i,value){
downLoad(fileFunctionPathArray[i],fileNameInServerArray[i],fileOriginalNameArray[i],ids[i]);
})
//下载方法
function downLoad(fileFunctionPath,fileNameInServer,fileOriginalName,ids){
$.ajax({
//检查文件是否存在
url: "/ResourceManage/resourceDownloaduserLink/checkPermission",
data: {
sysuserid: localStorage.getItem("id"),
resourceid: ids
},
success: function (data) {//文件存在则创建动态a标签批量下载文件
if (data.success) {
//ResponseEntity下载文件的url
var url = "../filehandle/downLoad.do?filePlatPath="
+ "resource&fileFunctionPath=" + fileFunctionPath
+ "&fileNameInServer=" + fileNameInServer
+ "&fileOriginalName=" + fileOriginalName;
var fileName = fileNameInServer;
downloadFile(url,fileName);//动态创建a标签 批量下载
}
}
})
}
//动态创建a标签
const downloadFile = (url, fileName = '') => {
let eleLink = document.createElement('a');
eleLink.download = fileName;
eleLink.style.display = 'none';
eleLink.href = url;
// 受浏览器安全策略的因素,动态创建的元素必须添加到浏览器后才能实施点击
document.body.appendChild(eleLink);
// 触发点击
eleLink.click();
// 然后移除
document.body.removeChild(eleLink);
};
点击下载则会 批量同时下载
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~