在Spring MVC中简单上传图片

时间:2019-04-12 09:29:12

标签: spring-mvc

有人可以给我在Spring MVC中上传图片的摘要吗?我使用@requestparam来获取字符串和其他数据。但是我想获取“ web”文件夹的图像和路径。.所以我可以在那里保存文件。

1 个答案:

答案 0 :(得分:0)

如果我很了解,您需要使用Spring MVC从客户端上载图像文件以在您的请求(Rest Controller)中发送,因此您可以使用如下的spring形式:

<form:form method="POST" action="/spring-mvc-xml/uploadFile" enctype="multipart/form-data">
<table>
    <tr>
        <td><form:label path="file">Select a file to upload</form:label></td>
        <td><input type="file" name="file" /></td>
    </tr>
    <tr>
        <td><input type="submit" value="Submit" /></td>
    </tr>
</table>
</form>

最重要的部分是添加 enctype =“ multipart / form-data” ,并且输入的类型必须为 “文件” ,则可以为剩余控制器添加如下所示的多部分参数:

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public String submit(@RequestParam("file") MultipartFile file, ModelMap 
modelMap) {
 // here u can find your uploaded file
return "fileUploadView";
}

最后,您需要像这样在Spring上下文中创建多部分Bean:

//you can defined it in xml way if your configuration in xml file 

@Bean(name = "multipartResolver")
public CommonsMultipartResolver multipartResolver()
{
 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
   multipartResolver.setMaxUploadSize(20848820);
 return multipartResolver;
}

,并且您还需要添加依赖项的上传文件库,Spring才能使用它:

dependency>
 <groupId>commons-fileupload</groupId>
 <artifactId>commons-fileupload</artifactId>
 <version>1.3.1</version> // or you can find the last version
</dependency>

我通常使用这种方式在Spring应用程序中上传文件,因此希望您也需要。