图片的正确HTTP头是什么?

12

我正在使用C#编写一个网络服务器,只是出于兴趣,可以向浏览器提供基本文本文件。但是,当提供图像(比如,image.png)时,我测试我的服务器的所有浏览器(IE,Firefox和Chrome)都会显示某种缩略图占位符,就像图像损坏或无效一样。

我发送给浏览器的响应看起来像

HTTP/1.0 200 Ok
Content-Type: image/png
Content-Length: 14580053

{image data here}

我是否使用了正确的HTTP头?或者,如果我使用了正确的HTTP头,为什么浏览器还是不接受该图像?


你是否将{图像数据}与你实际尝试发送的文件数据进行比较?最好使用一个1像素的gif或同样小的文件来检测微小的差异,而不是一个14 MB的PNG。 - CodeCaster
嗯...让我试试。 - feralin
请问图像数据应该使用哪种编码方式?Base64吗? - Gurupad Mamadapur
@GurupadMamadapur 我认为数据不应该被编码;相反,它应该作为二进制数据在响应流中发送。 - feralin
我通过与一个成熟的静态文件服务器的响应进行比较,成功地调试了类似的问题。在我的情况下,我了解到svg图像的mime类型是image/svg+xml,而不仅仅是image/svg - Andy
1个回答

7
啊,我明白了......我的代码忘记在响应主体之前添加一个额外的\n了。这与头部无关,只是响应语法不正确。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接