gpt4 book ai didi

java - 将多个图像设置为响应实体

转载 作者:行者123 更新时间:2023-12-01 18:23:48 25 4
gpt4 key购买 nike

我想向客户端返回包含多个图像的响应。在客户端我想下载这些图像。我还没有找到像 .setEntity() 这样的 HttpServletResponse 方法。所以我决定在标题字段中添加图像。我按以下方式添加,

File sourceFile = new File(serverLocation + "/" + filename);

servletresponse.setContentType(new MimetypesFileTypeMap().getContentType(sourceFile));
servletresponse.setContentLength((int)sourceFile.length());
servletresponse.setHeader(filename, "attachment; filename=" + URLEncoder.encode(filename, "UTF-8"));

我无法在客户端下载。这就是我在客户端所做的事情,

CloseableHttpResponse response = httpclient.execute(httppost);
Header[] headers = response.getAllHeaders();
for (int i = 0; i < headers.length; i++) {
if (headers[i].getName().equals(filename)) {
imagename = headers[i].getValue();
}
}
InputStream fileInputStream = new ByteArrayInputStream(imagename.getBytes(StandardCharsets.UTF_8));
byte[] bufffer = new byte[512];
while ((bufferSize = fileInputStream.read(bufffer)) > 0) {
fileOutputStream.write(bufffer, 0, bufferSize);
}

但是它不写图像。我如何添加多个文件并在客户端下载它。请帮忙。

最佳答案

单个 HTTP 调用只能返回单个图像(内容)。如果您需要发送多个图像,您可以:

  1. 在响应中传递图像 URL,而不是实际资源,并让客户端解析并下载它们
  2. 如果您想隐藏正文的响应,您可以使用 header 来实现与示例中提到的相同目的(但这对我来说看起来是一个奇怪的用例)

关于java - 将多个图像设置为响应实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60264740/

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