Spring MVC 文件的上传下载
来源:互联网 发布:vmware centos 双网卡 编辑:程序博客网 时间:2024/04/29 11:03
</pre><p><pre name="code" class="java"> /** * 上传文件 * @param req 请求 * @param file 文件 * @return URL路径 */ @RequestMapping("/upload") public String upload(HttpServletRequest req,@RequestParam("file") MultipartFile file){ //路径 String path = req.getSession().getServletContext().getRealPath("/WEB-INF/file"); //判断文件 if(!file.isEmpty()){ //上传的文件袋的名称 String oldName = file.getOriginalFilename(); //取文件名的后缀 String suffix = oldName.substring(oldName.lastIndexOf(".")); //改变文件的名称 String newName = UUID.randomUUID() + toString() + suffix; //将更改的文件名存放在session req.getSession().setAttribute("fileName", newName); File f = new File(path + "/" + newName); try { //通过封装好的方法将文件上传到指定的文件夹 file.transferTo(f); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return "redirect:/console/year/all"; } /** * 下载文件 * @param fileName 文件名 * @param req 请求 * @param resp 响应 */ @RequestMapping("/downfile") public void downFile(@RequestParam("fileName")String fileName,HttpServletRequest req, HttpServletResponse resp){ InputStream in = null; OutputStream out = null; //路径 String path = req.getSession().getServletContext().getRealPath("/WEB-INF/file"); //设置请求头 resp.setHeader("content-disposition", "ATTCHMENT;fileName="+fileName); try { //创建流 in = new FileInputStream(new File(path + "/" + fileName)); out = resp.getOutputStream(); byte [] bytes = new byte[512]; int total = 0; //写 读多少写多少 while((total = in.read(bytes)) != -1){ out.write(bytes, 0, total); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { in.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } }页面 from表单必须有enctype="multipart/form-data" 属性才能进行上传文件
<div><form action="${ctx}/console/year/upload" method="post" enctype="multipart/form-data" ><table><tr><td>添加附件</td><td><input type="file" name="file" id="file"/></td></tr> <tr> <td> <input type="submit" value="提交"/> </td> </tr></table></form><table><tr><th>附件</th><td>${fileName}<a href="${ctx}/console/year/downfile?fileName=${fileName}">下载</a></td></tr></table></div>
0 0
- Spring MVC 文件的上传下载
- Spring MVC的文件上传下载
- Spring MVC 文件上传下载
- spring mvc 文件上传下载
- Spring MVC 文件上传下载
- Spring MVC-文件上传下载
- Spring MVC 文件上传下载
- spring mvc文件上传下载
- Spring MVC 文件上传下载
- Spring MVC 文件上传下载
- Spring MVC 文件上传下载
- spring MVC 文件上传下载的实现
- Spring mvc实现文件上传下载
- Spring MVC实现文件上传下载
- Spring MVC实现文件上传下载
- Spring MVC文件上传下载实践
- 面试:----Spring MVC 文件上传下载
- Spring 4MVC下实现文件的上传下载
- 关系型数据库的范式
- 第五天-简单数据操作
- FusionCharts-2D圆盘
- mysql触发器(Trigger)简明总结和使用实例
- 第6天-校对规则
- Spring MVC 文件的上传下载
- mac 下真机调试 android 手机
- HDMI,VGA,DVI,DP,MINI DP,AV等影音设备接口规格
- [LeetCode] Valid Sudoku
- 面向对象编程的软件设计原则
- 如何把openfire3.9.3源码导入eclipse中
- Android Testing(Android 测试)
- 3.0基本类型和和容器
- VC:cannot open file "mfc42u.lib"的解决方案