Spring MVC 中通过fileupload上传文件,其中项目使用maven管理。
1.上传文件首先需要的是导入相关支持jar包:commons-fileupload.jar,commons-io.jar
因为我是用的maven管理项目,所以要在pom文件中配置(每个人的jar包位置根据实际情况定)
<!-- 文件上传 start by zhangyd-c --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <!-- 文件上传 end -->
2.获取文件信息
/** * 头像 根据Id生成存储目录 * @param file * @param userId * @param request * @param response * @throws IOException * @return void * @throws */ @RequestMapping("/updateLogo") public String updateLogo( @RequestParam(value = "upload-file") MultipartFile file, @RequestParam String id, HttpServletRequest request,String base64Char, HttpServletResponse response) throws IOException { response.setContentType("text/html;charset=UTF-8"); String fileName = file.getOriginalFilename(); String fileFormat = fileName.substring(fileName.lastIndexOf(".")); UUID uid = UUID.randomUUID(); String newFileName = uid.toString() + fileFormat; String filePath = null; //base64Char 为剪切后的 base64位的字符串,如果不为空说明图片被剪切了① if(base64Char == null || "".equals(base64Char)){ // 根据用户id获取创建上传目录 filePath = FileUtils.getFilePath(id);② File descfile = new File(filePath, newFileName);// 文件路径文件名 FileUtils.copyInputStreamToFile(file.getInputStream(), descfile);// 开始上传 }else{ filePath = this.userDetailsService.GenerateImage(base64Char, id,newFileName);③ } //此处将图片信息保存到数据库(省略......) return "redirect:/userhome/home"; }
3.如果认为只是这样就完了的话, 那就错了 ,你的程序一定跑不起来,MultipartFile这个接口 需要在spring的配置文件中配置,加入
org.springframework.web.multipart.commons.CommonsMultipartResolver
<!-- 配置上传文件的限制信息 by zhangyd-c --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认最大不超过2M --> <property name="maxUploadSize" value="2097152" /> </bean>
这样就ok 了,
因为我这个功能上传用户头像,因此就包含剪切后的图像获取,所以中间穿插了一些其他知识点(①②③),具体内容下次整理了发上。。
相关推荐
6. **Apache Commons**:Spring MVC 开发中可能会用到 Apache Commons 的一些工具库,例如 `commons-logging.jar` 用于日志记录,`commons-fileupload.jar` 用于文件上传,`commons-lang3.jar` 提供了一些实用的 ...
在本文中,我们将深入探讨如何利用Spring MVC实现在Web应用中进行文件的上传与下载。 首先,我们需要理解Spring MVC中的两个核心组件:Model、View和Controller。Controller接收用户请求,处理业务逻辑,然后将结果...
13. **commons-fileupload.jar**: 用于处理HTTP文件上传请求,如果你的Spring MVC应用需要接收用户的文件上传,这个库是必不可少的。 14. **commons-lang3.jar**: Apache Commons Lang库,提供了很多Java语言工具类...
创建一个Servlet或者Spring MVC的Controller,用于接收文件上传请求。在doPost或相应的处理方法中,初始化FileUpload对象。 3. **解析请求** 使用`ServletFileUpload`类解析请求,这一步会将多部分数据转换为可...
在Spring MVC框架中,表单提交是Web应用中常见的功能之一,特别是在处理用户上传文件时。本篇将详细探讨如何实现多文件上传表单的功能,同时也会涉及到一些相关的源码和工具使用。 首先,让我们从基础开始。Spring ...
在Spring MVC框架中,文件上传是一项常见的功能,它允许用户通过表单提交文件,并将这些文件与其他参数一起处理。在本文中,我们将深入探讨如何在Spring MVC中实现这个功能,同时携带其他参数。 首先,我们需要引入...
- 压缩包中可能包含了`commons-fileupload.jar`和`commons-io.jar`:这两个Apache Commons库提供了处理HTTP请求中文件上传的功能,Spring MVC通过它们来支持文件上传操作。 4. **日志库** - 虽然提到无需导入...
Apache Commons FileUpload是Java中处理文件上传的一个强大库,它简化了这一过程。本教程将详细介绍如何利用commons-fileupload实现文件上传功能,并提供一个简单的实例。 **一、Apache Commons FileUpload简介** ...
在Java开发中,文件上传是一项常见的任务,尤其是在构建Web应用时。`Commons FileUpload`是Apache Commons项目的一部分,它为处理...通过研究提供的"文件上传demo",你可以更好地理解和应用这些概念到自己的项目中。
以上JAR包是Spring MVC开发中的基础,但实际项目可能还需要根据具体需求引入其他依赖,例如数据库驱动、MyBatis、JUnit等。在开发过程中,通常会使用构建工具(如Maven或Gradle)来自动化管理和下载这些依赖,以确保...
本项目通过使用Maven构建工具,结合Spring MVC框架,实现了前端上传文件到服务器和从服务器下载文件的功能,并利用Logback日志系统进行详细的运行记录。下面将详细介绍这个过程中的关键知识点。 一、Maven的使用 ...
在Spring MVC中,你可以通过`@RequestParam("file") MultipartFile multipartFile`注解来接收上传的文件。然后,你可以使用`MultipartFile`提供的方法如`getBytes()`、`getOriginalFilename()`等来处理文件。 ```...
在生产环境中,还应考虑使用更安全的方式处理文件上传,如使用Spring MVC或类似框架的文件上传支持。 总的来说,`commons-fileupload`和`commons-io`为Java Web开发者提供了方便、灵活的文件上传解决方案。通过学习...
5. **易于集成**:它可以轻松地与Spring MVC、Struts等Web框架集成,提供无缝的文件上传支持。 这个压缩包中可能包含的文件有: - `fileupload`代码示例:这是一段展示如何使用Apache Commons FileUpload库的Java...
在这个“SpringMVC 头像文件上传”的项目中,我们看到它与Spring、Hibernate和Maven一起使用,这是一套经典的Java后端开发栈,通常被称为SSH(Spring、Struts、Hibernate)。不过,Struts在这里可能被理解为Spring的...
此外,现代Web框架(如Spring MVC)通常提供了更高级的文件上传支持,可以直接集成到现有的控制器中。 通过以上步骤,你就可以使用Apache Commons FileUpload库在Java Web应用中实现文件上传功能。这是一个基础的...
在Java Web开发中,文件上传是一项常见的功能,Spring MVC作为流行的MVC框架,提供了解决这一问题的强大支持。然而,为了实现文件上传,Spring MVC依赖于一些外部库,其中包括"commons-fileupload-1.2.1.jar"和...
总的来说,文件上传和下载是Java Web开发中重要的功能,通过`commons-fileupload`和Spring MVC的集成,我们可以方便地实现文件上传,而Servlet则可以帮助我们实现文件的下载功能。在实际应用中,还需要考虑安全性、...