每次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

回到顶部