gpt4 book ai didi

java - 如何使用spring mvc3上传文件?

转载 作者:行者123 更新时间:2023-11-30 03:32:33 24 4
gpt4 key购买 nike

我想使用Spring MVC3上传文件并进行处理。我尝试过

@RequestMapping(value = "uploadAction.do")
public ModelAndView upload(
@RequestParam("file") CommonsMultiPartFile file
)
{

System.out.println(file);
ModelAndView view = new ModelAndView();
return view;
}

但它不起作用,我与 @RequestParam 混淆了和@ModelAttribute所以请帮助我

最佳答案

上传功能取决于几个因素。正如docs ,以下是您必须确保的事情

发出 POST 请求。文件上传应该是 POST 请求

@RequestMapping(value = "uploadAction.do", method=RequestMethod.POST)

通过向 Web 应用程序的上下文添加多部分解析器来启用 Spring 多部分处理

     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="100000"/>
</bean>

确保commons-fileupload.jar位于您的类路径中,如果您使用maven,则以下内容应该可以覆盖您

    <!-- File Upload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.0.1</version>
</dependency>
<小时/>

完成所有这些后,您的映射应该可以正常工作,前提是您的表单没问题,这是一个示例

    <form id="fileuploadForm" action="/uploadAction.do" method="POST" enctype="multipart/form-data" class="cleanform">
<input id="file" type="file" name="file" />
<p><button type="submit">Upload</button></p>
</form>

另请注意,通过将参数类型更改为

,针对接口(interface)进行编程总是更好
public ModelAndView upload(@RequestParam("file") MultipartFile file) {

您将委托(delegate)将实现注入(inject)到框架中。好处是您可以使用 spring mvc 测试框架编写文件上传测试,在这种情况下,框架将插入 MultipartFile 接口(interface)的模拟实现

关于java - 如何使用spring mvc3上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28670160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com