gpt4 book ai didi

java - Jersey 客户端 API - POSTing InputStream

转载 作者:行者123 更新时间:2023-12-02 03:58:00 25 4
gpt4 key购买 nike

实现此目的的最佳方法是什么:

我的应用程序允许用户上传图像,这是通过 RESTful 服务完成的,编码为“multipart/form-data”。

现在,在服务主体中,我实际上并不需要保存此文件,但我想使用它来传递并调用另一个服务。那么我是否可以使用 Jersey Client API 进行另一个调用,而不必将文件保存到磁盘,然后传入所谓的“临时”文件。

这是我的一些代码:

@Path("/file")
public class UploadFileService {

@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail) {

//Given that I have ‘uploadedInputStream’ can I just pass this
//directly into the second call, below?

ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource wr = client.resource(baseURI);
ClientResponse response = wr.type("image/*")
.entity(uploadedInputStream) //legal??
.post(ClientResponse.class);

}
}

我猜测上述方法的替代方案是临时保存文件,然后将 java.io.File 的实例传递到entity() 方法中。但是,有可能摆脱这种情况吗?

最佳答案

是的,这应该可行。如果没有,请在 http://java.net/jira/browse/JERSEY 提交错误

关于java - Jersey 客户端 API - POSTing InputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11019207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com