簡體   English   中英

MultipartFile每次都返回null

[英]MultipartFile returns null every time

我正在使用此代碼將圖像文件發布到我的控制器,但我總是得到文件正文部分的空值。

@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 
                    }
                }
            }

首先請發布更多代碼然后我們可以找到更多,其次我認為問題是你的形式。 如果您使用Spring mvc上傳文件,您的表單應如下所示: <form action="your url" method="post" enctype="multipart/form-data">注意enctype ,它讓Spring DispatchServlet知道你想上傳一個文件。 你也應該檢查配置文件中是否配置了MutilPartFileResovler

對於那些仍在努力解決這個問題的人來說,這對我有用。 以前我的input字段定義為,

<input type="file" />

我用上面的行得到了null文件,但是當我添加了name="file"一切正常!

<input type="file" name="file" />

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM