• 上传文件,经过Zuul,中文文件名乱码解决办法


    转载请标明出处:
    http://blog.csdn.net/forezp/article/details/77170470
    本文出自方志朋的博客

    问题描述

    在项目中又一个上传文件的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

    测试一下,果然通过,上传中文名的文件乱码问题解决。

    关注我的公众号

    精彩内容不能错过!


    扫码关注公众号有惊喜

    (转载本站文章请注明作者和出处 方志朋的博客

  • 相关阅读:
    Redux API之applyMiddleware
    Redux API之combineReducers
    Redux API之creatStore
    Redux API之Store
    React-Redux之API
    ES6之6种遍历对象属性的方法
    React库protypes属性
    js立即执行函数
    Collection与Map总结
    02-再探MySQL数据库
  • 原文地址:https://www.cnblogs.com/forezp/p/9852111.html
Copyright © 2020-2023  润新知