gpt4 book ai didi

java - 从我的 Java Web 服务器正确获取图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:57:26 25 4
gpt4 key购买 nike

我用 Java 创建了一个简单的 HTTP 服务器。当浏览器向我的 Web 服务器发送 GET 请求以获取图像文件时,假设是 .jpg。目前我的浏览器无法正确获取图像。

究竟需要设置哪些头字段?

目前我有日期、服务器、内容类型、内容长度、连接。我使用以下方法设置长度:

fin = new FileInputStream(fileName);
contentLength = fin.available();

Content-Type 设置为正确的 mime-type,所以没有问题。

我使用以下方式写入文件数据:

public void sendFile (FileInputStream fin, DataOutputStream out) 
{
byte[] buffer = new byte[1024];
int bytesRead;
int strCnt = 0;
try
{
int cnt = 0;
while ((bytesRead = fin.read(buffer)) != -1)
{
out.write(buffer, 0, bytesRead);
}
fin.close();
}
catch (IOException ex)
{

}
}

这是我的 Chrome 浏览器收到的内容

Chrome Get

似乎没有下载完整的内容长度。

图片文件实际大小为2.73KB。

如果没有缺少任何 header 字段,那么可能是什么导致了问题?

最佳答案

看起来您没有发送所有数据。尝试添加 out.flush();关闭();在 fin.close() 之前:

out.flush();
out.close();
fin.close();

我还建议您将 DataOutputStream 包装到 BufferedOutputStream 中。根据我的实践,与写入高清/网络时的 DataOutputStream 相比,它的工作速度要快得多。

关于java - 从我的 Java Web 服务器正确获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10630502/

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