------前端代码------
<iframe id="spb" src="" style="width: 1px;height: 1px;" frameborder="0"></iframe>function downLoad(spzt,spbUrl,downloadPerson,orderId){$.get("beforeDownload",{},function (data) {$("#spb").attr("src","download"); })}
思路就是将下载的后台请求地址指向页面中iframe的src,即触发下载
//下载前置空请求@ResponseBody@RequestMapping("beforeDownload")public void beforeDownload(HttpServletRequest req,HttpServletResponse resp,String orderId) throws IOException {}
//执行下载@ResponseBody@RequestMapping("download")public void download(HttpServletRequest req,HttpServletResponse resp) throws IOException {// 输出到浏览器(下载)OutputStream out = null;try {// 这种写法是服务器上用的,因为要把文件下载到本地,只要确定文件名称即可,会让用户自己选择保存在本机的哪个地方String userAgent = req.getHeader("User-Agent");// 针对IE或者以IE为内核的浏览器:String fileName = "spb.doc";resp.setContentType("application/msword");//若为excel(application/msexcel)resp.setHeader("Content-disposition", "attachment;filename=" + fileName);out = resp.getOutputStream();doc.write(out);} catch (Exception e) {e.printStackTrace();} finally {try {out.flush();out.close();} catch (Exception e) {}}}
2019年11月1日
注意:放入src属性的url必须加http,今天又用了该方式下载,发现没有加http的时候没有反应
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态