【发布时间】:2019-03-18 06:42:17
【问题描述】:
请在回答后阅读。
我有一个项目,分为两个模块,一个用于“SERVICE”,一个用于“WEB”
服务模块像 REST 服务器一样工作,WEB 模块像 REST 客户端一样从服务模块使用 Web 服务,并且像 REST 服务器一样工作到 Angular APP
当我使用 Postman 附加 CSV 文件直接向服务模块发出请求时,它就像一个魅力,但是当我尝试对 WEB 模块执行相同的操作时,它会得到 500 状态代码,并且服务模块会得到以下跟踪:
服务模块
2018/oct/12 23:31:55.922 [http-nio-4501-exec-7] ERROR [dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found] with root cause
org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found
at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:831)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:256)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:280)
at org.apache.catalina.connector.Request.parseParts(Request.java:2884)
at org.apache.catalina.connector.Request.parseParameters(Request.java:3232)
at org.apache.catalina.connector.Request.getParameter(Request.java:1137)
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:381)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
服务模块控制器
@Autowired
UtilitarioServicio utilitarioServicio;
@RequestMapping(path = "/uploadFile", method = RequestMethod.POST,
consumes = "multipart/form-data")
public String getUploadedFile(
@RequestParam("file") MultipartFile file,
@RequestParam("procesoId") Integer procesoId,
@RequestParam("fuenteId") Integer fuenteId) throws IOException {
utilitarioServicio.getUploadedFile(file, fuenteId, procesoId);
return "";
}
网络模块控制器
@Autowired
UtilitarioServicioProxy restProxy;
@RequestMapping(path = "/uploadFile", method = RequestMethod.POST)
public String getUploadedFile(
@RequestParam("file") MultipartFile file,
@RequestParam("fuenteId") Integer fuenteId,
@RequestParam("procesoId") Integer procesoId) throws IOException {
restProxy.getUploadedFile(file, fuenteId, procesoId);
return "";
}
提前致谢。
【问题讨论】:
-
能否请您查看this question,可能与您的问题有关。
-
"请在回答后阅读。"字面意思是我们应该在阅读问题之前先写一个答案。
-
@Henry 有些人会这样做
-
@Shankarkota 我检查了该答案,但不适用于我的问题,因为实际上我在 Web 模块中获取了文件,但我无法将文件传递给服务模块
标签: java web-services spring-mvc spring-boot