转载请标明出处:

http://blog.csdn.net/forezp/article/details/77170470

本文出自方志朋的博客

问题描述

在项目中又一个上传文件的oss服务,直接调用服务的上传文件成功,如果经过网关zuul服务,上传中文名字的文件,文件名会出现乱码,最终导致上传失败,如果上传英文名字的文件,没有任何问题。怀疑网关zuul对中文做编码处理。

解决问题的过程

这个问题出现之后,我个人的解决办法如下:

这位大神给出的解决办法,使用zuul servlet去上传文件,而不是默认的spring mvc。使用 zuul servlet之需要在请求uri,前面加上"/zuul"即可。

解决方案

首先列出我的zuul服务的配置:

server.port: 5000
zuul:
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,中文文件名乱码解决办法的更多相关文章

  1. CuteFTP 9.0 上传文件时,中文文件名乱码

    解决办法如图: 1.右键--->属性 2.选项---->档案名称编  选择ascⅡ

  2. SpringBoot上传文件,经过spingCloud-Zuul,中文文件名乱码解决办法

    最近用springCloud整合springboot做分布式服务发现经过zuul之后上传的中文文件名乱码全都变成?????,从而引发异常,单独用springboot却是好的,在网上找到相关资料总结如下 ...

  3. spring clound gateway 上传文件,中文文件名乱码解决办法

    先说解决办法吧: 有三种解决办法 1 ,zuul官方给出了解决方案,使用/zuul开头的请求可以避免中文名乱码以及支持大文件上传 域名是 testgateway.com  接口是  api/image ...

  4. uploadify上传控件中文的乱码解决办法

    uploadify上传控件中文的乱码解决办法 网站用的gb2312的编码,用uploadify上传控件上传中文时在IE能部分成功,FF,Chrome则完全失败,查找了一天原因,结果发现是页面编码问题, ...

  5. 利用struts2上传文件时,如果文件名中含有-符号,那么会出错

    利用struts2上传文件时,如果文件名中含有-符号,那么会出错 报错如下: HTTP Status 500 - C:\Program Files\Apache Software Foundation ...

  6. mui plus.uploader.createUpload 上传文件服务端获取文件名中文乱码问题

    客户端上传文件需要做一次url编码:encodeURIComponent(fileName) 服务端:URL解码 var fileName = HttpUtility.UrlDecode(hfc.Fi ...

  7. php上传文件如何保证上传文件不被改变或者乱码

    很多网站上传文件都截取文件后缀,前面用时间错加后缀组成,然而一下下载的网站并不需要这样,需要保持原来的文件名,这里讲述一下 //上传操作 function uploadify(){ //var_dum ...

  8. linux下中文文件名乱码解决

    在windows上使用ftp上传文件到Linux上,中文名称在Linux系统中显示为乱码.虽然将Linux的env设置了LANG=en_US.UTF-8,并且本地的Shell客户端编码也设置成UTF- ...

  9. 上传文件时$_FILES为空的解决方法

    上传视频的时候打印$_FILES为空,小的文件就没问题,后来发现是因为传的文件太大, 出现这个问题的原因主要有两个:表单原因或者php设置原因: 1,表单类型: 上传文件的表单编码类型必须设置成 en ...

随机推荐

  1. JS中的prototype(转载)

    本文转载自博客园. 作者:叶剑锋 出处:http://www.cnblogs.com/yjf512/archive/2011/06/03/2071914.html 本文基于下面几个知识点: 1 原型法 ...

  2. 【学习笔记】Java实用类:枚举(Enum)

    Java API(Java Application Programming Interface)Java应用程序编程接口... 实用类:Java API提供了几个常用包: 1.java.lang:编写 ...

  3. 3.storm-starter打包在storm集群上运行

    1.使用maven或者其他打包工具将storm-starter打成jar包 2.请将jar包用解压工具打开在根目录下找到defaults.yaml文件并将其删除不然到时会报有multiply defa ...

  4. 1.zookeeper的安装

    1.解压zk压缩包 tar -zxvf (zk压缩包路径名) -C (解压目标目录路径) 2.在zk解压目录下新建data文件夹 mkdir data 3.在data文件夹下新建myid vi myi ...

  5. 编程语言的发展历史剧。(参考https://baijiahao.baidu.com/s?id=1588675986991787716&wfr=spider&for=pc)

    1800年 约瑟夫·玛丽·雅卡尔(Joseph Marie Jacquard),设计出人类历史 上首台可设计织布机——雅卡尔织布机,对将来发展出其他可编程机器起了重要作用 1842年 阿达·洛夫莱斯( ...

  6. 牛客提高R5 A.同余方程

    题意 题目链接 Sol 设\(solve(x, y)\)表示\(i \in [0, x], j \in [0, y]\)满足题目要求的方案数 首先容斥一下,\(ans = solve(r_1, r_2 ...

  7. ubuntu GITLAB完全导入SVN(提交历史,用户)项目

    从SVN导入到GITLAB目前没有直接的方案,通常需要通过GIT转换:SVN –>GIT –>GITLAB.通过这种方式,将SVN的提交历史,用户信息一并导入到gitlab 注:本文只适用 ...

  8. Java入门到精通——调错篇之Spring2.5使用AOP时报错only available on JDK 1.5 and higher

    一.问题描述及原因. 在Spring2.5Aop例子中的时候会出现一个错误only available on JDK 1.5 and higher,大概意思就是需要JDK1.5甚至更高版本.但是我用的 ...

  9. 转:ArcInfo数据格式介绍

    ArcInfo常用以下格式的数据:shp.Coverage..Raster CAD和Geodatabase.各种数据的组织形式不一样,其中shp.Coverage.Raster.CAD为文件类型,Ge ...

  10. Laravel 教程 - 实战 iBrand 开源电商 API 系统

    iBrand 简介 IYOYO 公司于2011年在上海创立.经过8年行业积累,IYOYO 坚信技术驱动商业革新,通过提供产品和服务助力中小企业向智能商业转型升级. 基于社交店商的核心价值,在2016年 ...