/** * 下载文档文件 * @param request * @param response * @param file_name * @throws IOException */ @RequestMapping(value = "/download_dex_privacy.do/{file_name}") public void downloadDexDoc(@PathVariable("file_name") String file_name,HttpServletRequest request, HttpServletResponse response) throws IOException { String path=request.getServletContext().getRealPath("/WEB-INF/classes/dex_doc"); System.out.println(path); File file=new File(path+"/"+file_name); // 获取输入流 InputStream bis = new BufferedInputStream(new FileInputStream(file)); // 假如以中文名下载的话 // 转码,免得文件名中文乱码 // 设置文件下载头 response.addHeader("Content-Disposition", "attachment;filename=" + file_name); // 1.设置文件ContentType类型,这样设置,会自动判断下载文件类型 response.setContentType("multipart/form-data"); BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream()); int len = 0; while ((len = bis.read()) != -1) { out.write(len); out.flush(); } out.close(); }
/** * 上传文件 * @param receipt * @return */ @RequestMapping(value = "upload.do") @ResponseBody public ReturnReceipt addReceipt(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) { BasePage_Model pageModel=SetDefaultPage(request); ReturnReceipt returnReceipt=new ReturnReceipt(); if (file.isEmpty()) { returnReceipt.status=receiptStatus.status_102; returnReceipt.message="上传失败,请选择文件"; }else{ //文件拿到需要做的操作 //uploadFile(file); returnReceipt.status=receiptStatus.status_100; returnReceipt.message="上传文件成功"; } return returnReceipt; }
springmvc.xml 里面加入 <!--文件上传下载--> <!-- 处理文件上传 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8" /> <!-- 默认编码 (ISO-8859-1) --> <property name="maxInMemorySize" value="10240" /> <!-- 最大内存大小 (10240)--> <property name="maxUploadSize" value="-1" /> <!-- 最大文件大小,-1为无限止(-1) --> </bean>