gpt4 book ai didi

java - 如何在其余服务中接收以八位字节流类型发送的图像?

转载 作者:行者123 更新时间:2023-11-30 07:44:56 29 4
gpt4 key购买 nike

我有一个发送多部分表单数据的休息客户端。我将图像作为“application/octet-stream”发送。图像类型为 JPEG。

我应该如何在 REST 服务中正确接收此信息?

目前我将其作为InputStream接收。我将此输入流转换为文件,但无法打开它。尝试打开它时显示 jpeg 错误

输入流到文件转换逻辑

File image=File.createTempFile("image", ".JPEG");
FileUtils.copyInputStreamToFile(inputStream, image);

为了清楚起见,我将分享其余的客户端 stub 和其余的服务实现。

剩余客户端 stub

public class ImageTest 
{

public static void main(String[] args) throws IOException
{
ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://localhost:8080/rest/AS/uploadreceipt");

MultipartFormDataOutput formData = new MultipartFormDataOutput();

Map<String, Object> json = new HashMap<>();

json.put("loyaltyId", "23");

formData.addFormData("json", json, MediaType.APPLICATION_JSON_TYPE);

FileInputStream fis = new FileInputStream(new File("/root/Downloads/index.jpeg"));

formData.addFormData("image", fis, MediaType.APPLICATION_OCTET_STREAM_TYPE);

Entity<MultipartFormDataOutput> entity = Entity.entity(formData, MediaType.MULTIPART_FORM_DATA);

Response response = target.request().post(entity);


}

休息服务处理

Map<String, Object> json = receiptUploadRequest.getFormDataPart("json", new GenericType<Map<String, Object>>() {});

InputStream image = receiptUploadRequest.getFormDataPart("image", new GenericType<InputStream>() {});

有什么我需要考虑的东西,比如标题等..因为它从其余客户端作为八位字节流发送。有什么东西阻止创建文件..任何人都可以帮我转换从发送的图像将客户端 stub 保存到文件....

最佳答案

我将输入流对象设置为相应的 pojo 字段。这导致输入流损坏。因此,在设置为 pojo 字段之前,我将输入流转换为文件。现在创建的文件是完美的。

关于java - 如何在其余服务中接收以八位字节流类型发送的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34071762/

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