spring mvc 上传文件

本文详细介绍了使用SpringMVC配置文件上传的功能,包括配置MultipartResolver处理器、引入必要的jar文件、控制器代码实现以及上传文件的地址设置。同时提供了前端页面的代码示例。

今天研究下了文件上传,没想到那么容易,spring mvc配置文件配置下,如下:

<!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> 
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
   <property name="defaultEncoding" value="UTF-8"/> 
   <!-- 指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和--> 
   <property name="maxUploadSize" value="
200000"/>
   <!-- 最大内存大小 (10240)--> 
   <property name="maxInMemorySize" value="40960" />
</bean> 


然后引入两个jar文件:commons-io-2.2.jar,commons-fileupload-1.3.1.jar。

controller代码。

@RequestMapping(value="uploadFile", method = RequestMethod.POST)
public String uploadFile(MultipartFile file, HttpServletRequest request){

// 判断文件是否为空
        if (!file.isEmpty()) {
            try {
                // 保存的文件路径(如果用的是Tomcat服务器,文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\uploa d\\文件夹中  )
                /* String filePath = request.getSession().getServletContext() .getRealPath("/") + "upload/" + file.getOriginalFilename();*/
                File saveDir = new File("E:/创业邦/"+file.getOriginalFilename());
                
                // 转存文件
                file.transferTo(saveDir);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

return "redirect:/task/";
}

上传文件的地址设置,

前端页面:

     <form action="${ctx}/task/uploadFile" method="POST" enctype="multipart/form-data">
<input type="file" name="file"/><br/> 
        <input type="submit" value="文件上传"/> 
</form>






Spring MVC 上传文件是一个常见的功能需求,它允许用户通过表单将文件数据发送到服务器端进行处理。在Spring框架中,可以借助`MultipartFile`对象来处理文件上传。以下是基本步骤: 1. **HTML表单**:创建一个包含文件输入字段的HTML表单,`<input type="file">`用于选择本地文件。 ```html <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="fileToUpload"> <button type="submit">上传</button> </form> ``` `enctype="multipart/form-data"`属性很重要,因为它告诉浏览器该表单提交的是二进制数据。 2. **Controller方法**:在Spring MVC控制器中,接收这个请求并处理文件上传。这里通常会检查文件是否有效,然后保存到服务器指定的位置。 ```java @PostMapping("/upload") public String handleFileUpload(@RequestParam("fileToUpload") MultipartFile file) { if (file.isEmpty()) { // 文件为空处理... } else { try { saveUploadedFile(file); return "success"; } catch (Exception e) { // 处理异常... } } return "error"; // 或者返回错误页面 } private void saveUploadedFile(MultipartFile file) throws IOException { byte[] bytes = file.getBytes(); // 将文件保存到服务器目录... } ``` 3. **文件保存**:根据业务需要,将文件保存到服务器文件系统、数据库或其他存储位置。可以使用`OutputStream`或者Spring提供的工具如`FileSystemResource`。 4. **错误处理**:确保捕获并适当地处理可能出现的任何错误,例如文件过大、格式不支持等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值