java - 如何将 multipartFile 作为输入?
问题描述
我正在尝试在 java 中创建图像上传资源。我的功能如下所示:
Response fun(@FormDataParam("json") Employee emp,
@FormDataParam("file") MultipartFile file){
}
如果我使用邮递员提供文件输入,则文件的值结果为空。如果我将InputStream
其作为参数代替MultipartFile
它,则可以按预期工作。我在这里错过了什么吗?
解决方案
请求类:
import java.util.List;
import org.springframework.web.multipart.MultipartFile;
public class UserDataForm {
private String name;
private List<MultipartFile> file;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<MultipartFile> getFile() {
return file;
}
public void setFile(List<MultipartFile> file) {
this.file = file;
}
@Override
public String toString() {
return "UserDataForm [name=" + name + ", file=" + file + "]";
}
}
第二个配置:
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
//resolver.setMaxInMemorySize(10000); //Define your max or min file size
resolver.setDefaultEncoding("utf-8");
return resolver;
}
控制器层:
/*you can also remove @ModelAttribute that works same*/
@RequestMapping(value = "userInfoTest" , method = RequestMethod.POST)
public ResponseJson getInfo(@ModelAttribute UserDataForm user) {
response.setResponse("Class Info" + user);
return response;
}
推荐阅读
- python - 如何将多个文本文件加载到 Google 文本转语音中?
- android - POS蓝牙打印机在启动时留下一些边距,然后在Android App中开始打印
- javascript - new Date().getTime() 在 JavaScript 中显示 NaN
- python - 在滚动视图中按下按钮以切换到另一个屏幕 [Kivy]
- react-native - 世博会弹出后反应本机问题
- sql - 查询以使用 like 运算符连接两个表
- google-chrome-extension - 替换页面上的文本值或显示与网站上显示的 id 匹配的值的叠加层
- python - RandomizedSearchCV Pipeline 使用mutual_info_classif 选择SelectPercentile 的超参数
- c# - 如何使用 Android 的统一从 URL 加载 JSON?
- c++ - Stack - 符号余额检查器