【问题标题】:400 bad request from jersey when upload a file上传文件时来自球衣的 400 错误请求
【发布时间】:2015-06-11 13:51:53
【问题描述】:

我正在使用 Jersey 上传文件。 这是剩下的:

@Path("/MyUpload")
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
public String MyUpload(@Context HttpServletRequest request,
                           @FormDataParam("file") InputStream uploadedInputStream,
                           @FormDataParam("file") FormDataContentDisposition fileInfo)    {


// here I’m handling the input stream
…
return “Ok”;
}

当我发送一个大小超过 10KB 的文件时,我会收到 400 个错误请求。

有什么想法吗?

我正在使用 linux red hat 6.2 在 tomcat7 上运行我的应用程序。

谢谢..

【问题讨论】:

  • 过去2年你找到解决办法了吗???
  • 是的,我已将 jersey-multipart-config.properties 添加到带有 bufferThreshold=1024 的 classes 文件夹

标签: java rest tomcat file-upload jersey


【解决方案1】:

一个问题是您使用相同的名称file 获取请求multipart 参数。您需要使用 multipart 参数的不同名称来区分这两个部分。

【讨论】:

  • 这并没有解释如果文件更小,实际可以上传的文件的 10KB 限制。
  • 我(非常)迟到了,但想指出名称file必须相等:区别在于参数类型,因此@987654325 @可以正确接收到与uploadedInputStream中的文件关联的元数据。
【解决方案2】:

我的解决方案是:将有缺陷的 Jersey 库从 1.13(或更低)版本更改为最新版本。 1.17 和 1.19 对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    相关资源
    最近更新 更多