JAVA文件上传和下载

来源:互联网 发布:淘宝模特摄影师 编辑:程序博客网 时间:2024/06/05 12:00

文件上传java后台的处理代码:

/** * 上传文件 *  * @param session * @param file * @return * */@RequestMapping(value = "sys/file/fileUpload", produces = "text/html;charset=UTF-8")@ResponseBodypublic String fileUpload(HttpSession session, @RequestParam(value = "file", required = true) MultipartFile file) {String path = Property.getProperty("fileUpload.path");//文件存储的位置File dir = new File(path);if (!dir.exists()) {dir.mkdir();}String filename = "";if (!file.isEmpty()) {// log.debug(session.getServletContext().getRealPath(path));try {// 用UUID而不是时间戳filename = UUID.randomUUID().toString() + "____" + file.getOriginalFilename();// 文件保存路径String filePath = path + "/" + filename;// 转存文件file.transferTo(new File(filePath));} catch (Exception e) {log.error(CustomStringUtils.getExceptionInfo(e));return JSONUtil.toJsonString(new JsonResult(-1, "上传发生错误!", null));}}log.info("上传了文件" + filename);return JSONUtil.toJsonString(new JsonResult(1, "", filename));}

java后台下载文件:

/** * 下载文件 *  * @param session * @param filename * @return * @throws IOException * */@RequestMapping(value = "sys/file/fileDownload")public ResponseEntity<byte[]> download(HttpSession session, @RequestParam("filePath") String filename)throws IOException {String path = Property.getProperty("fileUpload.path");//文件存储的位置String filepath = path + "/" + filename;File file = new File(filepath);if (!file.exists()) {// return JSONUtil.toJsonString(new JsonResult(-1, "文件未找到!", null));log.error("文件没有找到!    " + filepath);throw new RuntimeException("文件没有找到!");}String dfileName = filename.split("____")[1];dfileName = new String(dfileName.getBytes("utf-8"), "ISO_8859_1");HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);headers.setContentDispositionFormData("attachment", dfileName);return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK);}


原创粉丝点击