首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么这个java post方法控制器没有收到这个post表单?

为什么这个java post方法控制器没有收到这个post表单?
EN

Stack Overflow用户
提问于 2018-10-21 16:37:30
回答 1查看 202关注 0票数 0

这是表单:

<form method="post"  enctype="multipart/form-data" id="uploadFileForm" action="/uploadTest">
     <div>
        <input type="file" id="image_uploads" name="filename" accept=".jpg, .jpeg, .png, .pdf" multiple>
    </div>
    <div id="uploadpreview">
        <p>No files currently selected for upload</p>
    </div>
    <div>
        <button id="uploadBtn" type="submit">Submit</button>
    </div>
</form>

这是控制器:

@Controller
@RequestMapping(value = "/**/uploadTest")
public class UserFileUploadController {

    @RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public String TestRun(@ModelAttribute("filename") final File uploadFile)
    {
    //code in which i use the uploaded file
        return ("redirect:/solutions");
    }
}

我得到一个"405方法不允许“状态代码=屏幕显示‘服务器错误’。但是页面会刷新为/uploadTest,所以我不知道控制器出了什么问题。

EN

回答 1

Stack Overflow用户

发布于 2018-10-22 00:43:00

我认为如果您希望将文件存储在文件系统中,则应该将File替换为MultipartFile,然后调用transferTo方法。

@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String TestRun(@ModelAttribute("filename") final MultipartFile uploadFile) throws IOException {
    File file = ...
    uploadFile.transferTo(file);
    return ("redirect:/solutions");
}

您还应该检查是否在dispatcher-servler.xml中定义了此bean,并将maxUploadSize设置为正确的值。

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="1000000" />
</bean>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52913462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档