SpringCloud 通过Zuul上传文件
2023-11-23 11:49 更新
如果使用@EnableZuulProxy
,则可以使用代理路径上载文件,只要文件很小,它就可以正常工作。对于大文件,有一个替代路径可以绕过“ / zuul / *”中的Spring DispatcherServlet
(以避免进行多部分处理)。换句话说,如果您拥有zuul.routes.customers=/customers/**
,则可以将POST
大文件复制到/zuul/customers/*
。Servlet路径通过zuul.servletPath
外部化。如果代理路由将您带到Ribbon负载均衡器,则超大文件也需要提高超时设置,如以下示例所示:
application.yml。
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000 ribbon: ConnectTimeout: 3000 ReadTimeout: 60000
请注意,要使流技术处理大文件,您需要在请求中使用分块编码(某些浏览器默认不这样做),如以下示例所示:
$ curl -v -H "Transfer-Encoding: chunked" \ -F "file=@mylarge.iso" localhost:9999/zuul/simple/file
以上内容是否对您有帮助:
更多建议: