Spring Cloul Zuul mutiparfile上传结果错误代码

时间:2019-03-18 06:39:15

标签: spring file spring-cloud

最近,我研究了spring网关以构建一个简单的系统,但遇到一个我无法解决的问题,所以我提出了这个问题,希望有人能解决这个问题。

问题:   我在本地tomcat上的本地环境中上传文件,上传后返回成功代码,但是,在linux上使用tomcat服务器返回错误代码。 查看reslut:

Linux环境:

不良回报:

  {
  "success": true,
  "code": 200,
  "msg": "操作成功",//Chinese language
  "list": {
    "name": "??????-v1.1.xls",//bad code
    "url": "group1/M00/00/07/wKgIXVyPN52AXYgIAADOADqWDYw968.xls"
  }
}

本地环境:   成功翻身:

 {
  "success": true,
  "code": 200,
  "msg": "操作成功",//Chinese language
  "list": {
    "name": "接口设计格式-v1.1.xls",
    "url": "group1/M00/00/07/wKgIXVyPOliASi03AADOADqWDYw926.xls"
   }
  }

enter image description here

我搜索支持zn_utf-8的vmare linux。

我的zull配置代码:

@Override
    public Object run() {
        // 接口返回相应处理
        RequestContext context = RequestContext.getCurrentContext();
        HttpServletRequest request = context.getRequest();
        String method = request.getMethod();
        String requestURI = request.getRequestURI();
        System.out.println(method +"-"+requestURI);
        long count = Arrays.asList(export).stream().filter(str -> str.equals(requestURI)).count();
        if(count > 0) {
            return null;
        }

        InputStream stream = context.getResponseDataStream();
        try {
            String body = StreamUtils.copyToString(stream, Charset.forName("UTF-8"));
            Map<String, Object> parseObject = JSON.parseObject(body, Map.class);
            if(parseObject.get("error") != null) {
                if(parseObject.get("error").toString().equals("invalid_grant")) {
                    if(parseObject.get("error_description").toString().indexOf("Bad credentials") >= 0) {
                        body = JSON.toJSONString(WriteJson.error(990, "用户名或密码错误"));
                    }
                    if(parseObject.get("error_description").toString().indexOf("Invalid refresh") >= 0) {
                        body = JSON.toJSONString(WriteJson.error(991, "无效token"));
                    }
                }
                if(parseObject.get("error").toString().equals("Unauthorized")) {
                    body = JSON.toJSONString(WriteJson.error(992, "错误的令牌"));
                }
                if(parseObject.get("error").toString().equals("invalid_token")) {
                    body = JSON.toJSONString(WriteJson.error(993, "token已过期"));
                }
            }
            if(parseObject.get("access_token") != null) {
                Map<String, Object> map = new HashMap<>();
                map.put("access_token", parseObject.get("access_token"));
                map.put("refresh_token", parseObject.get("refresh_token"));
                map.put("expires_in", parseObject.get("expires_in"));
                body = JSON.toJSONString(WriteJson.successData(map));
            }

            context.setResponseBody(body);
        } catch (IOException e) {
            context.setResponseBody(JSON.toJSONString(WriteJson.error()));
        }
        return null;
    }

最后,我找到了spring.com网站,大多数人都回答了这个问题,spring work编码器已经解决了这个问题,我不知道。

0 个答案:

没有答案