美文网首页
Zuul上传文件,文件名乱码问题解决方案

Zuul上传文件,文件名乱码问题解决方案

作者: 方志朋 | 来源:发表于2017-08-14 21:49 被阅读459次

    问题描述

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

    解决问题的过程

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

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

    image.png

    解决方案

    首先列出我的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上传文件,文件名乱码问题解决方案

          本文链接:https://www.haomeiwen.com/subject/bkyurxtx.html