@RequestMapping(value="exportExcel") public void exportExcle(HttpServletRequest request, HttpServletResponse response) throws Exception{ String realPath = request.getSession().getServletContext().getRealPath("/"); File filePath = new File(realPath + "/tempExclePath"); String path = filePath+"/"+key+".xlsx"; final File file = new File(path); fileName = file.getName(); InputStream inputStream; try { inputStream = new BufferedInputStream(new FileInputStream(file)); byte[] buffer = new byte[inputStream.available()]; inputStream.read(buffer); inputStream.close(); response.reset(); response.addHeader("Content-Disposition", "attachment;filename=" + fileName); response.addHeader("Content-Length", "" + file.length()); OutputStream os = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); os.write(buffer); os.flush(); os.close(); } catch(Exception e){ e.printStackTrace(); }finally{ if(file.exists()){ // after download, delete the file on server (new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } finally { try { file.delete(); } catch (Exception e) { } } } })).start(); } } }
注意:使用response 方式下载文件,不能使用ajax 请求,否则无反应,如果用到ajax,可以使用表单的方式,如下:
function downlaodFile (params){ var temp = document.createElement("form"); temp.action = "xxx.do" temp.method = "post"; temp.style.display = "none"; Object.keys(params).forEach(function(key){ var opt = document.createElement("input"); opt.name = key; opt.value = params[key]; temp.appendChild(opt); //temp.append(opt); }); document.body.appendChild(temp); //document.body.append(temp); temp.submit(); return temp; }
相关推荐
SpringMVC完整实现跨服务器文件传输的demo代码,实现文件服务器与其业务代码分离
主要介绍了springmvc实现跨服务器文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 一旦设置了enctype为multipart/form-data,浏览器即会采用二进制流的方式来处理表单数据,而对于文件上传的处理则涉及在服务器端解析...
由于需要我们需要在项目里自己写文件的上传和下载。这里分别有基于SpringMVC的上传和基于SSH的上传下载,欢迎下载。
主要为大家详细介绍了SpringMVC图片文件跨服务器上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
JavaWeb的一种部署方案,包含maven3.3.9+tomcat8.0+eclipse+jdk1.8+ssm配置文件,适合JavaWeb以及SpringMVC架构的初学者
springmvc上传文件到ftp demo,将mmall.properties里面的ftp内容修改为自己的启动就行,建议使用idea
使用即插即用的MultipartResolver实现文件上传功能,需要借助于Commons的CommonsMultipartResolver
SpringMVC笔记内容:第...第二天(跳转方式(forward、redirect)、@ResponseBody、SpringMVC作用域传值的方式、文件上传、文件下载、跨服务器上传);第三天(SpringMVC异常处理、自定义拦截器、拦截器栈) --author:
上传一张图片,同时上传三台服务器 根据不同的节点 上传到不同的服务器上面
SpringMVC第10讲:跨服务器文件上传
SpringMVC 接收 Ajax 请求注意事项 SpringMVC 框架在处理 Ajax 请求时需要注意一些重要的配置和设置,以确保请求的正确处理和数据的正确传输。下面我们将介绍在 SpringMVC 中接收 Ajax 请求的注意事项。 基本数据...
1、显示已经上传的文件:http://localhost:8080/picserver/fileList ...3、下载文件链接:http://localhost:8080/picserver/downLoadFile/文件名 4、如果部署在服务器上,则将localhost改为对应的服务器ip地址即可
打开MyEclipse后,建立一个web工程,名称为school,将对应目录的文件复杂进去再部署到tomcat服务器上就ok了!
一、下载STS搭建Osgi开发环境,下载Virgo插件,具体方式可以参照Virgo官方文档说明 二、导入压缩包中的4个bundle,com.venusource.app.contact为应用bundle,其他三个为框架bundle 三、创建数据库,创建表,表结构...
本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
本工具类是为了让springmvc可以接受图片文件等内容.存放于服务器本地
代理服务器
主要介绍了springMVC+jersey实现跨服务器文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
实际项目中经常会用到日志打印 为避免日志打印输出文件过大 消耗服务器内存 需要限制大小