SpringMVC 下载文件(直接在浏览器打开)
2023-09-11 14:15:41 时间
前端代码:
//下载用户手册
function downUserManual() {
debugger
var downLoadPath = "/system/downUserManual.do";
var url = getRootPath() + downLoadPath;
window.open(url)
后端代码:
@RequestMapping(value = "/downUserManual.do", method = RequestMethod.GET)
public void download(HttpServletRequest request, HttpServletResponse response) throws IOException {
FileInputStream fis = null;
byte[] bytes = null;
ServletOutputStream ouputStream = null;
ByteArrayOutputStream baos = null;
try {
ServletContext servletContext = request.getSession().getServletContext();
String filePath = servletContext.getRealPath("/downloadfile/用户手册.pdf");
File file = new File(filePath);
fis = new FileInputStream(file);
baos = new ByteArrayOutputStream();
int len;
byte[] buffer = new byte[1024];
while ((len = fis.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
bytes = baos.toByteArray();
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (baos != null) {
try {
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (ouputStream != null) {
try {
ouputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
相关文章
- SpringMVC 入门案例
- SpringMVC 文件的上传、下载
- SpringMVC 工作流程
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- 能源项目xml文件 -- springMVC-servlet.xml -- context:component-scan
- 能源项目xml文件 -- springMVC-servlet.xml
- [转]SpringMVC单文件上传、多文件上传、文件列表显示、文件下载
- SpringMVC HandlerMethodArgumentResolver自定义参数转换器 针对HashMap失效的问题
- 关于SpringMvc中的事务@Transactional
- SpringMVC中采用简洁的配置实现文件上传
- springmvc管理资源开放
- SpringMVC使用CommonsMultipartResolver上传文件
- SpringMVC 页面传递参数到controller的五种方式
- SpringMVC+Spring+mybatis项目搭建
- spring、springMvc、springBoot和springCloud的联系与区别
- springMVC 访问404
- springMVC 上传文件
- JSP-SpringMVC(一)传参、传值、拦截器、文件上传
- springMVC 注解版
- 【springMVC】文件上传
- 【springMVC】使用Ajax实现RESTful
- springmvc 整合 camunda
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- SpringMVC_入门项目
- Maven+SpringMVC+Freemarker入门Demo
- SpringMVC访问静态资源的三种方式
- SpringMVC文件上传和下载