javaweb项目中的文件上传下载功能的实现
2018-09-19 15:37
531 查看
上传:
[code]@RequestMapping("/upload") public @ResponseBody res upload(HttpSession session,MultipartFile file) throws IllegalStateException, IOException { // 原文件名称 String oldName = file.getOriginalFilename(); // 新文件名称 String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf(".")); // 上传文件 File nfile = new File("F:/temp/" + newName); if (!nfile.exists()) { nfile.mkdirs(); } session.setAttribute("filename", newName); // 向磁盘写文件 file.transferTo(nfile); res res = new res(); res.setCode(0); return res; }
下载:
[code]@RequestMapping("/download") public String download( String fileName ,String filePath, HttpServletRequest request, HttpServletResponse response){ response.setContentType("text/html;charset=utf-8"); try { request.setCharacterEncoding("UTF-8"); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } java.io.BufferedInputStream bis = null; java.io.BufferedOutputStream bos = null; String downLoadPath = filePath; //注意不同系统的分隔符 // String downLoadPath =filePath.replaceAll("/", "\\\\\\\\"); //replace replaceAll区别 ***** System.out.println(downLoadPath); try { long fileLength = new File(downLoadPath).length(); response.setContentType("application/x-msdownload;"); response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1")); response.setHeader("Content-Length", String.valueOf(fileLength)); bis = new BufferedInputStream(new FileInputStream(downLoadPath)); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } } catch (Exception e) { e.printStackTrace(); } finally { if (bis != null) try { bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (bos != null) try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return "forward:; }
阅读更多
相关文章推荐
- JavaWeb实现文件上传下载功能实例解析以及项目工程示例下载
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析
- javaweb文件的下载和上传功能的实现(2)
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析
- javaweb文件的下载和上传功能的实现
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例详解
- JavaWeb实现文件上传下载功能实例解析
- JAVAWeb GET,POST,文件上传下载,验证码功能实现
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例解析------apache.commons.fileupload
- JavaWeb实现文件上传下载功能实例解析
- JavaWeb实现文件上传下载功能实例详解