国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java Spring MVC 上傳下載文件配置及controller方法詳解

2019-11-26 13:45:59
字體:
來源:轉載
供稿:網友

下載:

1.在spring-mvc中配置(用于100M以下的文件下載)

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!--配置下載返回類型--><bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <!--配置編碼方式--><property name="supportedMediaTypes" value="application/json; charset=UTF-8" /> </bean> </list> </property> </bean>

下載文件代碼

@RequestMapping("/file/{name.rp}")public ResponseEntity<byte[]> fileDownLoad(@PathVariable("name.rp")String name, HttpServletRequest request,HttpServletResponse response) {// @PathVariable String name,// @RequestParam("name")String name,// System.out.println("<name>"+name);// System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");ResponseEntity<byte[]> re = null;try {/*** css,js,json,gif,png,bmp,jpg,ico,doc,docx,xls,xlsx,txt,swf,pdf* **///下載防止靜態加載干擾Feelutile f=new Feelutile();name=f.getfileformat(name);String pathString="C://tempDirectory//"+name; File file=new File(pathString);HttpHeaders headers=new HttpHeaders();//String filename=URLEncoder.encode(name, "UTF-8");//為了解決中文名稱亂碼問題 String filename=new String(name.getBytes("utf-8"),"utf-8");byte[] by=FileUtils.readFileToByteArray(file);headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);//URLEncoder.encode(filename, "UTF-8")headers.setContentDispositionFormData("attachment",filename);headers.setContentLength(by.length);re=new ResponseEntity<byte[]>(by, headers, HttpStatus.CREATED);} catch (Exception e) {e.printStackTrace();try {request.getRequestDispatcher("/error/404.jsp").forward(request, response);} catch (ServletException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}return re;}

上傳文件:

1在spring-mvc中配置

<!--4.文件上傳 配置 file upload --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding"><value>UTF-8</value></property><property name="maxUploadSize"><value>1048576000</value></property><property name="maxInMemorySize"><value>40960</value></property></bean>

在controller中代碼如下

@RequestMapping(value="/upload", method = RequestMethod.POST)@ResponseBodypublic Json upload(Doc doc, @RequestParam("uploadFile") CommonsMultipartFile file) {Json j = new Json();try {String realpath = this.servletContext.getRealPath("/upload"); String uploadFileFileName = file.getOriginalFilename(); String uploadFileFileNameWithoutSpace = uploadFileFileName.replaceAll(" ", ""); String fileType = uploadFileFileNameWithoutSpace.substring(uploadFileFileNameWithoutSpace.lastIndexOf("."));File targetFile = new File(realpath+File.separator, uploadFileFileNameWithoutSpace);if (targetFile.exists()) {targetFile.delete();}file.getFileItem().write(targetFile); docService.upload(doc,uploadFileFileNameWithoutSpace);j.setSuccess(true);j.setMsg("Upload manual successfully");}catch (Exception e) {logger.error(ExceptionUtil.getExceptionMessage(e));j.setMsg("Upload manual unsuccessfully");}return j;}

以上所述是小編給大家介紹的Java Spring MVC 上傳下載文件配置及controller方法詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河北区| 黑河市| 武夷山市| 宣恩县| 伊金霍洛旗| 南城县| 凤庆县| 紫金县| 获嘉县| 石门县| 长葛市| 永新县| 靖州| 富阳市| 亚东县| 杭锦旗| 冷水江市| 葵青区| 嫩江县| 普兰店市| 封丘县| 金湖县| 龙井市| 濉溪县| 肃南| 宁城县| 乌拉特前旗| 双城市| 精河县| 堆龙德庆县| 西昌市| 宁乡县| 汾阳市| 错那县| 罗山县| 得荣县| 莱州市| 全椒县| 南靖县| 新泰市| 高安市|