将文件发送到MVC控制器

时间:2020-09-07 21:26:48

标签: ajax spring-boot file spring-mvc

我已经通过下面的链接上传了文件,但是我一直在获取

https://www.baeldung.com/spring-file-upload

我的Thymeleaf文件中有这个

tabs -v

这是我的javascript函数

<div>
    <form method="POST" action="esubmission/submitter/uploadFile" enctype="multipart/form-data" onclick="disableOnBeforeUnload()" >
         <table>
             <tr>
                 <td><label path="file">Select a file to upload</label></td>
                 <td><input type="file" name="file" /></td>
             </tr>
             <tr>
                 <td><input type="submit" value="Submit"/></td>
             </tr>
         </table>
    </form>
</div>

这是我的控制者:

function disableOnBeforeUnload() {
    window.removeEventListener("beforeunload", windowClosedOrReloaded);
}

如您所见,我已经调用了控制器中的函数,但是却收到404错误

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public String submit(@RequestParam("file") MultipartFile file, ModelMap modelMap) {
    modelMap.addAttribute("file", file);
    return "fileUploadView";
}

我所缺少的是什么?

我也尝试过使用ajax调用,如下所示:

2020-09-07 16:19:05.332 DEBUG 81932 --- [nio-8080-exec-3] o.s.w.s.r.ResourceHttpRequestHandler     : Resource not found
[2020-09-07 16:19:05,332] DEBUG o.s.w.s.r.ResourceHttpRequestHandler - Resource not found 
2020-09-07 16:19:05.332 DEBUG 81932 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet        : Completed 404 NOT_FOUND

1 个答案:

答案 0 :(得分:0)

验证您的路径网址/appName/role/uploadFile/是正确的 因为服务器返回404,这意味着路径不正确。 如果您在同一页面上使用此脚本,则无需放置/appname/role/ 您只需在同一控制器上传递该方法名称即可。