参考:
1.http://www.journaldev.com/2573/spring-mvc-file-upload-example-single-multiple-files
上传接口controll:
@RestController public class OcrController { private static final Logger logger = LoggerFactory.getLogger(OcrController.class); @Resource private OcrService ocrService; @RequestMapping(value="/api/ocr",method = RequestMethod.POST) public Response getOcrResponse(@RequestParam(value = "file", required = false) MultipartFile file ) { logger.info("get OCR services start..."); OcrFailResponse ocrFailResponse = null; Response ocrResponse = null; File serverFile = createFileOnServer(file); if(serverFile.exists()){ ocrResponse = ocrService.getOcrService(serverFile); return ocrResponse; }else{ ocrFailResponse = new OcrFailResponse(); ocrFailResponse.setCode(Response.RESULT_CODE_ERROR); ocrFailResponse.setMessage(OcrFailResponse.RESULT_MESSAGE_FILEUPLOAD_ERROR); return ocrFailResponse; } } public File createFileOnServer(MultipartFile file){ File serverFile = null; if (!file.isEmpty()) { try { byte[] bytes = file.getBytes(); // Creating the directory to store file String filename = "OcrUplaod_" + TimeUtil.genDate() + ".png"; File dir = new File(SystemConfig.getFile_store_path()); if (!dir.exists()) dir.mkdirs(); // Create the file on server serverFile = new File(dir.getAbsolutePath() + File.separator + filename); BufferedOutputStream stream = new BufferedOutputStream( new FileOutputStream(serverFile)); stream.write(bytes); stream.close(); logger.info("Server File Location=" + serverFile.getAbsolutePath()); } catch (Exception e) { logger.error("You failed to upload " + file + " => " + e.getMessage()); } } else { logger.debug("You failed to upload " + file + " because the file was empty."); } return serverFile; } }
注意要导入commons-fileupload.jar,要不会报错:
the current request is not a multipart request
compile 'commons-fileupload:commons-fileupload:1.3.2'
添加bean:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> </bean>
这里可以配置文件上传大小限制:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"/> <property name="maxUploadSize" value="#{20*1024*1024}"/> <property name="resolveLazily" value="true"/> </bean>
相关推荐
SpringMVC 提供了对文件上传和下载的支持,可以方便地处理用户的文件操作请求。 十一、RESTful API 设计 SpringMVC 也支持 RESTful 风格的 Web 服务,可以通过 @RequestMapping 注解配合 HTTP 方法(GET、POST、PUT...
集成REST服务,可以用作独立服务平台(提供大量实例及测试平台,包括:文件上传下载、邮件短信发送、部门、产品、公共连接、我的收藏、我的任务、信息发布等) 5. 集成Quartz调度,可以用作定时调度平台(动态...
SpringMVC提供了便捷的文件上传和下载功能,通过MultipartFile接口处理文件上传,通过HttpServletResponse实现文件下载。 11. **RESTful API**: SpringMVC可以轻松构建RESTful服务,通过HTTP方法(GET、POST、...
要实现文件上传,你需要在控制器方法中使用@RequestBody或@RequestParam注解来接收MultipartFile对象,这个对象包含了上传文件的信息。同时,你需要配置Spring MVC的MultipartResolver,例如使用...
10. **上传下载**:SpringMVC提供了处理文件上传和下载的功能,包括多文件上传和大文件断点续传。 11. **异步处理**:通过@ControllerAdvice和@Async注解,可以实现异步方法处理,提高系统响应速度。 12. **...
11. **上传下载支持**:SpringMVC提供了处理文件上传和下载的功能,可以通过MultipartFile接口来处理上传文件。 12. **国际化和本地化**:SpringMVC支持根据用户的选择或浏览器设置,提供不同语言和区域的资源。 ...
- **文件上传和下载**:方便处理文件的上传和下载操作。 - **集成其他Spring项目**:可以和Spring Framework中的其他组件,如Spring Security、Spring Data等无缝集成。 通过学习SpringMVC,开发者能够更加高效地...
3. **上传下载文件**:如何处理HTTP请求中的文件上传和下载,包括使用MultipartFile接口。 4. **拦截器(Interceptor)**:学习如何编写和注册自定义拦截器,实现请求预处理和后处理功能,如日志记录、权限检查等。...
在提供的 "springMVC.rar" 和 "springmvc3.0资料.zip" 文件中,您可以找到详细的教程文档、代码示例、练习项目等资源,帮助您逐步深入理解和掌握 Spring MVC。通过这些学习资料,您将能够独立地开发和维护基于 ...
SpringMVC提供了便捷的文件上传功能,主要依赖于`MultipartFile`接口。开发者可以通过在控制器方法的参数中声明`MultipartFile`来接收上传的文件。同时,需要在配置文件中启用MultipartResolver,如...
- **文件上传**:SpringMVC通过MultipartResolver接口支持文件上传功能,常见的实现有CommonsMultipartResolver。 #### 十三、使用拦截器 - **拦截器**:拦截器可以用来实现日志记录、权限检查等功能,增强了应用...
文件上传是SpringMVC框架支持的一个扩展功能,允许用户上传文件到服务器。 Spring标签提供了对SpringMVC框架的视图表单支持,简化了在JSP等视图技术中的使用。 国际化支持允许Web应用根据用户的区域设置展示不同的...
16. **上传文件支持**:使用 MultipartFile 类型,Spring MVC 可以处理文件上传请求。 17. **模板引擎支持**:除了 JSP,Spring MVC 还支持 Thymeleaf、FreeMarker 等模板引擎,提供更灵活的视图渲染方式。 18. **...
SpringMVC提供API处理文件上传和下载,如`MultipartFile`接口处理上传的文件。 **7. 模板引擎集成** SpringMVC可以与多种视图技术如JSP、Thymeleaf、FreeMarker等进行集成,实现动态视图渲染。 **8. RESTful API...
既可以上传图片也可以上传文件。文件超过分片大小才启用分片。 3、分片上传已做md5校验,达到秒传的效果。分片以后需要合并,可以先分片后合并,也可以边分片边合并,本示例采用的是边分片边合并的方案。 4、后端...
- SpringMVC提供了便捷的文件上传功能,可以使用`MultipartFile`接口处理上传的文件。 - 文件下载则通过响应流实现,设置Content-Disposition头指示浏览器如何处理文件。 8. **异常处理** - 可以通过`@...
5. 文件上传与下载:展示了SpringMVC如何支持文件的上传和下载功能。 6. AOP(面向切面编程):SpringMVC可以结合Spring的AOP模块实现日志记录、权限控制等功能。 7. RESTful API设计:介绍如何使用SpringMVC创建...