上传文件,经过Zuul,中文文件名乱码解决办法
来源:互联网 发布:齐鲁商品交易软件下载 编辑:程序博客网 时间:2024/05/29 15:23
转载请标明出处:
http://blog.csdn.net/forezp/article/details/77170470
本文出自方志朋的博客
问题描述
在项目中又一个上传文件的oss服务,直接调用服务的上传文件成功,如果经过网关zuul服务,上传中文名字的文件,文件名会出现乱码,最终导致上传失败,如果上传英文名字的文件,没有任何问题。怀疑网关zuul对中文做编码处理。
解决问题的过程
这个问题出现之后,我个人的解决办法如下:
第一反应是看文档,文档地址:http://cloud.spring.io/spring-cloud-static/Dalston.SR1/#_uploading_files_through_zuul
粗略地看了下文档,以为没有给出解决方案(其实已经给出,只是没有理解好文档)。狂撸源码,依然没有找到解决办法。
Google搜,搜到了这条Issue,https://github.com/spring-cloud/spring-cloud-netflix/issues/1385
这位大神给出的解决办法,使用zuul servlet去上传文件,而不是默认的spring mvc。使用 zuul servlet之需要在请求uri,前面加上”/zuul”即可。
解决方案
首先列出我的zuul服务的配置:
server.port: 5000zuul: routes: oss-api: path: /oss/** serviceId: oss-service
oss服务上传文件的接口,代码如下:
@RestController@RequestMapping("/file")public class FileUploadController { @PostMapping("/upload") public RespDTO handleFileUpload(@RequestParam("file") MultipartFile file) { //上传代码省略 return RespDTO.onSuc(upLoadResult); }
那么,经过网关,调用上传文件的url地址如下:
localhost:5000/oss/file/upload
这时如果出现中文文件名,上传文件的文件名会出现失败。按照上述大神的办法,直接在这个uri,前面加上”/zuul”,那么请求地址如下:
localhost:5000/zuul/oss/file/upload
测试一下,果然通过,上传中文名的文件乱码问题解决。
关注我的公众号
精彩内容不能错过!
- 上传文件,经过Zuul,中文文件名乱码解决办法
- php上传中文文件文件名乱码问题
- 中文文件名上传乱码
- 在windows中php 不能上传中文文件名文件和上传中文文件名乱码
- FCKeditor for Java 中文文件名文件上传乱码问题
- Rails中上传文件保存中文文件名乱码
- EXTJs + Struts2上传中文文件出现文件名乱码
- 彻底解决Moodle上传文件中文文件名乱码解决方法
- 解决上传文件时服务端中文文件名乱码问题
- SpringMVC用MultipartFile上传文件及文件名中文乱码
- Struts2文件上传以及文件名中文乱码解决
- httpclient上传文件及文件名中文乱码问题
- php上传文件中文文件名乱码的解决方法
- WINDOWS上传中文文件名文件到LINUX显示乱码
- 解决上传文件时服务端中文文件名乱码问题
- java上传文件到linux上 防止文件名中文乱码
- 文件下载 response.setHeader()下载中文文件名乱码问题 解决办法
- Struts2文件下载文件名中文出现乱码解决办法
- 如何将CVBS模拟视频转换成 CSI-2数字视频
- 【shiro】shiro初识
- CSAPP使用指南
- Hibernate的Java.lang.StackOverflowError
- Harmonic Number
- 上传文件,经过Zuul,中文文件名乱码解决办法
- mysql索引最左匹配原则的理解?
- 设计模式-策略模式(Strategy)
- 哈希--数组实现和邻接链表
- caffe Visual Studio 安装配置
- Android Monkey测试入门-4-Monkey高级参数之throttle
- 三连击(NOIP1998)
- Java面试问题
- 338. Counting Bits-medium