假设我们将使用公共资源多部分解析器,它使用 Apache 公共资源上载库以窗体处理文件上载。因此,您需要添加公域文件上载.jar和commons-io.jar依赖项。
commons-fileupload commons-fileupload 1.2.2 commons-io commons-io 1.3.2 需要在应用程序上下文文件中进行以下声明,以启用多部分解析器(以及在应用程序中包括必要的 jar 文件):现在创建模型类FileUploadForm,该模型将保存从 HTML 表单提交的多部分数据。
import org.springframework.web.multipart.MultipartFile;
public class FileUploadForm { private MultipartFile file;
public MultipartFile getFile() {
return file;
}
public void setFile(MultipartFile file) {
this.file = file;
}
} 现在创建实际处理上载逻辑的类。FileUploadController
import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartFile; import com.howtodoinjava.form.FileUploadForm;
@Controller public class FileUploadController { @RequestMapping(value = "/upload", method = RequestMethod.POST) public String save(@ModelAttribute("uploadForm") FileUploadForm uploadForm, Model map) {
MultipartFile multipartFile = uploadForm.getFile();
String fileName = "default.txt";
if (multipartFile != null) {
fileName = multipartFile.getOriginalFilename();
}
//read and store the file as you like
map.addAttribute("files", fileName);
return "file_upload_success";
}
} 上传的 JSP 文件如下所示:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。