春季靴子,码头:分段上传 - 让弹簧/码头接受缺少"filename"属性的body部位?



如何使 Spring(或 Jetty)接受/解析正文部分缺少内容处置中的filename属性的分段上传?

除了缺少filename属性之外,多部分消息是正常的,它也曾经与旧版本的 Jetty/Spring 一起使用。

我需要设置什么才能使 Jetty/Spring 再次具有容错能力?

附言在这里,我发现了一个类似但不同的问题(缺少name属性)。然而,虽然name似乎是识别身体部位的重要属性,但您不一定需要原始客户端文件名: Spring POST multipart/form-data 请求空正文,getParts 始终为空

正如评论中已经提到的:

Spring (4.3.8.RELEASE) 无条件跳过没有文件名的多部分文件,即没有设置使其更容错。因此,唯一的解决方案是覆盖 Spring 的 StandardMultipartHttpServletRequest 类并修改相关方法:parseRequest

添加的代码行:

if (filename == null && "file".equalsIgnoreCase(part.getName()) && MediaType.APPLICATION_OCTET_STREAM.equalsIgnoreCase(part.getContentType())) {
    filename = DEFAULT_FILENAME;
}

的,多部分正文部分的名称不一定是"file",但这是我的代码在上传文件时必须使用的客户端应用程序的名称。

相关内容

  • 没有找到相关文章

最新更新