java - JAX-RS POST 文件输入流为空

标签 java file post jax-rs

我正在尝试创建一个上传文件的 POST 调用,这是我的代码:

@POST
@Path("/uploadfile") 
@Produces({"application/json","application/xml"}) //the default result is json
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Authenticated
public Response saveFile( @FormDataParam("file") InputStream inputStream,
                              @FormDataParam("file") FormDataContentDisposition cdh) throws CompanyNotFoundException, UserUnauthorizedException, IllegalAccessException, WasteInvalidException, ItemNotFoundException, IOException{
    System.out.println(inputStream.available());

    return Response.ok("success").build();
}

但由于某种原因,接收到的 inputStream 始终为 0 字节(使用 inputStream.available() 检查)。 我使用 Postman 进行了测试。 enter image description here

请问我缺少什么?

最佳答案

看起来一切都对。您确定您关于流为空的假设是正确的吗?看着Javadoc :

The available method for class InputStream always returns 0.

您可以尝试读取它并查看是否存在数据。

byte[] bytes = IOUtils.toByteArray(inputStream);

关于java - JAX-RS POST 文件输入流为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46323803/

相关文章:

java - 在远程jvm中执行类

c - 从文件中删除一条记录

jQuery.post() 里面的 jQuery.post()

Wordpress:自动从推文和 YouTube 视频创建博客文章?

java - 泛型类实例的三种声明之间的区别

java - Netty - 关闭客户端的套接字是否会关闭服务器的 channel

java - 根据其键的子集过滤 map 的元素,而无需遍历整个事物

c - 从命令行读取可变行文件并存储

android - 用现成的数据创建数据库

PHP插入数据