SSM网页下载文件

快来打我* 2024-02-19 15:52 139阅读 0赞

效果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RHSDI0MzAyODQ4MTc_size_16_color_FFFFFF_t_70

需要的资源:

commons-fileupload-1.3.1.jar,commons-io-1.3.2.jar

步骤:

1:搭建SSM框架:

2:在配置文件springconfig.xml中添加配置

  1. <!-- 定义文件上传解析器 -->
  2. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  3. <!-- 设定默认编码 -->
  4. <property name="defaultEncoding" value="UTF-8" />
  5. <!-- 设定文件上传的最大值5MB,5*1024*1024 -->
  6. <property name="maxUploadSize" value="5242880" />
  7. <property name="maxInMemorySize" value="4096" />
  8. </bean>

3:编写下载jsp文件:download.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  3. "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>下载文件</title>
  8. </head>
  9. <body>
  10. <h1>文件下载实例</h1>
  11. <form action="${pageContext.request.contextPath}/download.action" method="get">
  12. <input type="submit" value="下载">
  13. </form>
  14. </body>
  15. </html>

4:编辑控制器:

  1. /**
  2. * 文件下载功能
  3. * @param request
  4. * @param response
  5. * @throws Exception
  6. */
  7. @RequestMapping("/download")
  8. @ResponseBody
  9. public String down(HttpServletRequest request,HttpServletResponse response) throws Exception{
  10. //模拟文件,myfile.txt为需要下载的文件
  11. String fileName = request.getSession().getServletContext().getRealPath("upload")+"/myfile.txt";
  12. //获取输入流
  13. InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));
  14. //假如以中文名下载的话
  15. String filename = "下载文件.txt";
  16. //转码,免得文件名中文乱码
  17. filename = URLEncoder.encode(filename,"UTF-8");
  18. //设置文件下载头
  19. response.addHeader("Content-Disposition", "attachment;filename=" + filename);
  20. //1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
  21. response.setContentType("multipart/form-data");
  22. BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
  23. int len = 0;
  24. while((len = bis.read()) != -1){
  25. out.write(len);
  26. out.flush();
  27. }
  28. out.close();
  29. return "login2";
  30. }
  31. 5:运行,成功的话页面信息如下,点击下载看是否能正常下载:

发表评论

表情:
评论列表 (有 0 条评论,139人围观)

还没有评论,来说两句吧...

相关阅读

    相关 下载ts网页视频

    有些网页上的视频是分成多个ts片段的,无法被chrome的各种嗅探器插件捕获,但通过F12开发工具监测网络(Network)文件可以发现(如题图)。 在过滤器中输入m3u8,

    相关 下载网页视频

      一,在浏览器元素界面下载  以火狐浏览器为例   1、打开[浏览器][Link 1],打开一个有视频的网页,然后右键点击视频页面(不要在视频的位置),在弹出的选项框