文件上传

来源:互联网 发布:软件测试社区 编辑:程序博客网 时间:2024/06/11 12:42

1.添加依赖

<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.3</version></dependency>

2.在springMVC配置类中注册MultipartResolver类,配置上传文件参数
        @Beanpublic MultipartResolver multipartResolver(){    CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();    multipartResolver.setMaxUploadSize(10485760);    multipartResolver.setMaxInMemorySize(40960);    multipartResolver.setDefaultEncoding("UTF-8");    return multipartResolver;}
3.请求表单的enctype指定为multipart/form-data类型
<form action="upload" enctype="multipart/form-data" method="post"><input type="file" name="file"/><br/><br/><input type="submit" value="upload"></form> 
4.Controller接收参数类型MultipartFile
package com.lebron.springmvc;import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;@Controllerpublic class UploadController {    @ResponseBody    @RequestMapping(value="/upload",method=RequestMethod.POST)    public String upload(MultipartFile file){        try {            String contentType = file.getContentType(); //文件mime类型            String name = file.getName();   //表单中文件组件的名字            String filename = file.getOriginalFilename(); //文件全名            FileUtils.writeByteArrayToFile(new File("f:/upload/" + filename), file.getBytes());            return "success";        } catch (IOException e) {            e.printStackTrace();        }        return "error";    }}



原创粉丝点击