【问题标题】:Browser not recognizing image sent by home brew server in Java浏览器无法识别 Java 中 Home brew 服务器发送的图像
【发布时间】:2012-08-31 05:25:21
【问题描述】:

编写了一个服务器,该服务器可动态提供页面以及在服务器启动时加载到页面数组中的静态页面。服务器很好地提供页面,因此交付工作正常。

当页面被请求时,图像从数据库中提取到图像数组中,并在 img 标记的 src 属性中放置随机名称,并在随机名称请求时从图像数组中提供服务。然后将它们从图像阵列中取出,因此它们仅作为安全功能被访问一次。图像进入和离开图像数组,图像进入浏览器。浏览器 (Firefox) 显示如下消息:“图像无法显示,因为它包含错误。”此外,正在刷新输出流,所以我认为这与此无关。

在将它们放入图像数组之前,将标头编码为如下所示 (\n) 插入以增加清晰度:

    HTTP/1.1 200 OK
    Content-Length: 18803
    Content-Encoding: base64
    Content-Type: image/png;"/2033.png"(\n\n)

剩下的就是以字节为单位的图像。它以与当前发送页面相同的方式作为字节发送到浏览器。我已经尝试了上述行的多种变体,具有不同的值等。

关于我做错了什么有什么想法吗?

【问题讨论】:

  • 如需尽快获得更好的帮助,请发帖SSCCE

标签: java image browser http-headers server-side


【解决方案1】:

好的.. 原来我使用 \r\n 的顺序错误。

这就是我所拥有的:

final private String newLine = "\n\r";

这是我应该拥有的:

final private String newLine = "\r\n";

这导致在 html 页面允许的错误位置出现额外的空间,但图像却没有。希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 2019-03-30
    相关资源
    最近更新 更多