spring cloud 中使用zuul作为路由时上传文件名称乱码处理_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > spring cloud 中使用zuul作为路由时上传文件名称乱码处理

spring cloud 中使用zuul作为路由时上传文件名称乱码处理

 2018/7/25 15:28:57  一边天  程序员俱乐部  我要评论(0)
  • 摘要:最近在做关于文件上传的接口,但是不管怎么处理,文件的名称总是乱码,我们使用的技术站为springcloud前端原代码:uploadData(){letformData=newFormData()letfileNames=[]for(leti=0;i<this.fileList.length;i++){formData.append('files',this.fileList[i]);fileNames.push(this.fileList[i].name)}letjson=
  • 标签:使用 上传 文件 Spring 上传文件 文件名
最近在做关于文件上传的接口,但是不管怎么处理,文件的名称总是乱码,我们使用的技术站为
spring cloud

  前端原代码:
class="java" name="code">
 uploadData () {
        let formData = new FormData()
        let fileNames = []
        for (let i = 0; i < this.fileList.length; i++) {
          formData.append('files', this.fileList[i]);
          fileNames.push(this.fileList[i].name)
        }
        let json = {
          'description': this.sampleDescription,
          'status': this.qualifyValue
        }
        formData.append('json', JSON.stringify(json));
        // 上传文件
        this.$http.post(`/modules/api/v1/sampleInformation/uploadSampleReport/${this.$route.params.sampleId}`, formData).then(res => {
          if (res.status === 200) {
            this.$router.replace({
              name: 'my-sample'
            })
          } else {
            this.loading = false
          }
        })


更改后的代码:

 
 uploadData () {
        let formData = new FormData()
        let fileNames = []
        for (let i = 0; i < this.fileList.length; i++) {
          formData.append('files', this.fileList[i]);
          fileNames.push(this.fileList[i].name)
        }
        let json = {
          'description': this.sampleDescription,
          'status': this.qualifyValue
        }
        formData.append('json', JSON.stringify(json));
        // 上传文件
        this.$http.post(`/zuul/modules/api/v1/sampleInformation/uploadSampleReport/${this.$route.params.sampleId}`, formData).then(res => {
          if (res.status === 200) {
            this.$router.replace({
              name: 'my-sample'
            })
          } else {
            this.loading = false
          }
        })


后台处理代码:
  
List<Part> list = (List<Part>) request.getParts();
            for (Part part : list) {
                if (!part.getName().equalsIgnoreCase("files")) {
                    continue;
                }
                //Content-Disposition: form-data; name="files"; filename="test.pdf"
                String fileName = part.getHeader("Content-Disposition").split(";")[2];
                LOG.info("上传检测报告获取到的文件名称:{}", fileName);
                fileName = new String(fileName.getBytes(Charsets.ISO_8859_1), "UTF-8");
   }
   

  
上一篇: 十年码农总结的 Java 架构师学习路线 下一篇: 没有下一篇了!
发表评论
用户名: 匿名