每次MultipartFile返回null
我正在使用此代码将图像文件发布到我的控制器,但是我总是得到文件主体部分的空值。
@RequestMapping(value = "/updateprofile", method = RequestMethod.POST)public @ResponseBody
ResponseMsg updateProfile(
@RequestHeader(value = "userid", required = false) String userid,
@RequestHeader(value = "name", required = false) String name,
@RequestHeader(value = "phone", required = false) int phone,
@RequestParam(value = "file", required = false) MultipartFile file) {
ResponseMsg responseMsg = CommonUtils.checkParam(userid, name, phone,
file);
if (responseMsg.getStatus().equalsIgnoreCase("True"))
responseMsg = userService.login(name, userid);
return responseMsg;
}
有人能帮忙吗?
回答:
使用时,multipart
您的表单字段会包含在中request Stream
。因此,您必须检查它们是否form fields
存在。
这是我在servlet中使用的,您可以对其进行适当的更改以使用Spring-MVC
。
boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart)
{
try
{
List items = upload.parseRequest(request);
Iterator iterator = items.iterator();
while (iterator.hasNext())
{
FileItem item = (FileItem) iterator.next();
if (item.isFormField()) //your code for getting form fields
{
String name = item.getFieldName();
String value = item.getString();
System.out.println(name+value);
}
if (!item.isFormField())
{
//your code for getting multipart
}
}
}
以上是 每次MultipartFile返回null 的全部内容, 来源链接: utcz.com/qa/400460.html