我面对过zuul上传大文件的问题。我使用Apache的公共文件上传(https://commons.apache.org/proper/commons-fileupload/)以流大文件以及我用zuul在前面。在我的春节,启动应用程序我有Spring提供使用Apache的公地一个残疾人上传:
spring:
http:
multipart:
enabled: false
控制器看起来像这样:
public ResponseEntity insertFile(@PathVariable Long profileId,
HttpServletRequest request) throws Exception {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator uploadItemIterator = upload.getItemIterator(request);
if (!uploadItemIterator.hasNext()) {
throw new FileUploadException("FileItemIterator was empty");
}
while (uploadItemIterator.hasNext()) {
FileItemStream fileItemStream = uploadItemIterator.next();
if (fileItemStream.isFormField()) {
continue;
}
//do stuff
}
return new ResponseEntity(HttpStatus.OK);
}
如果我直接访问我的应用程序(不zuul),如预期的文件上传作品。但是,如果它是通过zuul访问,FileItemIterator没有项目遍历并请求完成,错误马上(ERR_CONNECTION_RESET)。对于zuul我也给春季禁用多。否则,它的工作原理。然而,该文件不流。他们是完全只有经过我得到的控制器(普通的Spring行为)中加载。有没有办法使用Apache的公地流与zuul选项的方法是什么?
我已经找到了解决办法。这基本上说明如下:
http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_uploading_files_through_zuul
我做了什么,使其工作。只是一步一步:
来源:HTTP://本地主机:8081 /为MyService /文件
要:HTTP://本地主机:8081 / zuul /为MyService /文件
春季多上传保存禁用:
spring:
http:
multipart:
enabled: false
不需要下面的头。传输编码:分块
我试着上传大文件没有一个,这是罚款。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句