0

我正在尝试使用 CommonsMultipartFile 或 MultipartFile 上传文件,它在本地工作正常,但一旦推送到 cloudfoundry 就无法工作。

我正在使用 Postman 进行测试。

这是示例代码:

@ResponseBody    
    @RequestMapping(value = "/api/stw/upload1", method = RequestMethod.POST)
    public String upload1(@RequestParam(name="text",required=true) MultipartFile text){

        return "done";

    }

这是我尝试调用 CF URL 时 Postman 中的响应。

{
  "timestamp": 1494397075418,
  "status": 400,
  "error": "Bad Request",
  "exception": "org.springframework.web.bind.MissingServletRequestParameterException",
  "message": "Required MultipartFile parameter 'text' is not present",
  "path": "/api/stw/upload1"
}

注意:我在表单数据中传递了邮递员所需的键值。它在本地而不是 CF 上工作。例如:文本(键) - 上传文件(值)

    **Request Header**

    Accept:*/*
    Accept-Encoding:gzip, deflate, br
    Accept-Language:en-US,en;q=0.8,kn;q=0.6
    Cache-Control:no-cache
    Connection:keep-alive
    Content-Length:32354
    Content-Type:multipart/form-data; boundary=----WebKitFormBoundary10QktAWiD1GCsBKF
    DNT:1
    Host:<CF Service URL>
    Origin:chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
    Postman-Token:d22500e6-f0d9-0f29-b981-78a45b6e4524
    Pragma:no-cache
    User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36

**Request Payload**
------WebKitFormBoundary10QktAWiD1GCsBKF
Content-Disposition: form-data; name="uploadFile"; filename="error.txt"
Content-Type: text/plain


------WebKitFormBoundary10QktAWiD1GCsBKF--
4

1 回答 1

0

问题是commons-upload pom依赖。

我正在使用 commons-upload 将文件上传到本地,但在推送到 Predix 时它给出了多部分错误。因此,在删除它和相应的 bean 配置然后推送到 Predix 之后它工作正常。

于 2017-05-17T05:57:35.433 回答