【问题标题】:CommonsMultipartFile or MultipartFile not working once pushed into cloudfoundryCommonsMultipartFile 或 MultipartFile 一旦被推入 cloudfoundry 就无法工作
【发布时间】:2017-05-10 10:46:55
【问题描述】:

我正在尝试使用 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 上工作。 eg: text(Key) - uploadfile(Value)

    **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--

【问题讨论】:

  • 你是如何在本地运行它的?什么版本的 Java 和 Tomcat?当您在 CF 上运行应用程序时,这些是否与 Java 构建包安装的版本相匹配(提示:Java 构建包将显示它在暂存期间安装的版本)。可能还有助于查看您发送的请求。也许从 Chrome 开发工具中捕获它,或者包含 curl 命令来复制它。
  • 对于本地,我从 Postman 调用服务。 Java 和 tomcat 都是最新的,即 Java8 和 tomcat 8.5。
  • 请求头 Accept:*/* Accept-Encoding:gzip, deflate, br Accept-Language:en-US,en;q=0.8,kn;q=0.6 Cache-Control:no-cache连接:保持活动内容长度:32354 内容类型:multipart/form-data;边界=----WebKitFormBoundary10QktAWiD1GCsBKF DNT:1 主机: 来源:chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
  • 您能否编辑并将其包含在您的初始回复中,以便更好地格式化?
  • 请检查...

标签: web-services spring-boot amazon-s3 cloud-foundry predix


【解决方案1】:

问题是 commons-upload pom 依赖。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-19
    • 2019-09-17
    • 2023-04-01
    • 2019-11-11
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多