笔记---上传下载代码
来源:互联网 发布:2017天猫双11销售数据 编辑:程序博客网 时间:2024/06/05 07:39
@Controllerpublic class UpAndDownFile {@RequestMapping(value="/testUp.do", method=RequestMethod.POST)public String testUp(HttpServletRequest req,@ModelAttribute User user)throws IOException{save(user);return "ok.jsp";}@RequestMapping(value="testUp1.do", method = RequestMethod.POST)@ResponseBodypublic JsonResult<Object> testUp1(HttpServletRequest req ,@ModelAttribute User user) throws IOException{System.out.println("testUp1()...");//save(user);return new JsonResult<Object>();}private void save(User user) throws IOException {if(user.getImage().isEmpty()) {throw new RuntimeException("上传文件为空");}if("123".equals(user.getUsername())){throw new RuntimeException("换一个名字");}String path = ReadConfig.getPath("path");String filename = user.getImage().getOriginalFilename();//filename = UUID.randomUUID()+filename.substring(filename.lastIndexOf("."));File file = new File(path,filename);if(!file.getParentFile().exists()){file.getParentFile().mkdirs();}user.getImage().transferTo(new File(path+File.separator+filename));}//处理异常 @ResponseBody @ExceptionHandler(Exception.class) public JsonResult<Object> exHandler(Exception e){ e.printStackTrace(); return new JsonResult<Object>(e); } //下载:两种方式 @RequestMapping(value="/download.do") public void downLoad (HttpServletResponse res ,@RequestParam("filename") String filename)throws Exception { System.out.println(filename); String path = ReadConfig.getPath("path"); File file = new File(path + File.separator + filename); res.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8")); FileInputStream in = new FileInputStream(file); OutputStream out = res.getOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while((len=in.read(buffer))>0){ out.write(buffer, 0, len); } in.close(); out.flush(); out.close(); } @RequestMapping(value="/download1.do") public ResponseEntity<byte[]> download1(@RequestParam("filename") String filename)throws Exception { System.out.println(filename); String downFilename = new String(filename.getBytes("utf-8"),"ISO-8859-1"); String path = ReadConfig.getPath("path"); File file = new File(path + File.separator + filename); HttpHeaders headers = new HttpHeaders(); headers.setContentDispositionFormData("attachment", downFilename); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED); }}
阅读全文
0 0
- 笔记---上传下载代码
- struts实现上传下载代码
- 文件上传下载代码 java
- http ftp上传下载代码
- 上传下载工具代码
- java代码上传下载文件
- 文件上传下载代码
- java文件上传下载笔记
- 笔记--文件上传下载
- Java文件上传下载核心代码
- 文件上传下载PHP代码实现
- 前端uploadfy+java 上传下载代码
- java 代码链接SFTP,上传下载
- JDK7 ftp上传下载示例代码
- 图片上传下载代码命名唯一
- Struts2实现文件上传下载笔记
- Struts2实现文件上传下载笔记
- 达内云笔记(六) 文件上传下载
- 分布式节点协调实现方式
- opencv bug集合
- FRI.Device.Rating.Program.2.0.
- PHP 实现多文件上传功能
- 有限状态机求解字符串匹配问题
- 笔记---上传下载代码
- maven导入已有jar包
- 读书笔记总结(链接)
- java线程中断的理解
- 实现生产组和消费者的机制,利用共享内存实现文件的打开和读写操作,PV操作。
- 线程池详解
- 【LeetCode】442. Find All Duplicates in an Array
- 主流的 骨骼蒙皮动画 顶点变换方式的一个细节的思考
- QTransform Qt坐标转换