手机
当前位置:查字典教程网 >编程开发 >Java >Java Spring MVC 上传下载文件配置及controller方法详解
Java Spring MVC 上传下载文件配置及controller方法详解
摘要:下载:1.在spring-mvc中配置(用于100M以下的文件下载)下载文件代码@RequestMapping("/file/{name.r...

下载:

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

<bean> <property name="messageConverters"> <list> <> <bean/> <bean> <> <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 block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } return re; }

上传文件:

1在spring-mvc中配置

<> <bean id="multipartResolver" > <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) @ResponseBody public 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方法详解,希望对大家有所帮助,如果大家有任何疑问请给我们留言,小编会及时回复大家的。在此也非常感谢大家对查字典教程网的支持!

【Java Spring MVC 上传下载文件配置及controller方法详解】相关文章:

java string 转date方法如何实现

JAVA hashCode使用方法详解

java 文件名截取方法

java中String的一些方法深入解析

可视化Swing中JTable控件绑定SQL数据源的两种方法深入解析

解决常见的Eclipse SVN插件报错方法详解

浅谈java中静态方法的重写问题详解

Java中关于int和Integer的区别详解

Java创建文件夹及文件实例代码

Java多线程的用法详解

精品推荐
分类导航