【问题标题】:jpg file rendering problem in IE?IE中的jpg文件渲染问题?
【发布时间】:2010-10-18 20:41:51
【问题描述】:

我们使用 asp.net 编写了 CMS 应用程序。用户可以将文件文档、pdf 附加到他们的表单中并相互发送。用户可以轻松下载 pdf 和其他文档,但是当他们想要下载 jpg 文件时,他们的 IE 将 jpg 文件渲染为二进制文件并显示 jpg 文件的二进制文件? IE没有显示保存为其他文件等对话框!

问题出在哪里?以及如何在 asp.net 中处理这个问题?它与HTTPS有关吗?因为用户使用https连接到这个cms。

【问题讨论】:

  • 什么是 HTTP 响应标头?您可以使用 Fiddler (fiddler2.com) 等工具查看它们

标签: asp.net file


【解决方案1】:

据我了解,用户需要下载文件,他们可以为某些文件下载文件,但不能下载 JPEG?而且显示为二进制,什么意思,显示的是字节码?

请记住,每个请求在响应中都有一个内容类型标头,它将向浏览器识别它是什么类型的内容。这是设置一个已知的 MIME 类型,例如 image/jpeg,...

Content-Type: text/html; charset=utf-8

浏览器根据内容类型加载每个资源。话虽如此,由浏览器以它想要的方式加载资源。我可以个性化并更改我的浏览器设置,因此如果您无法在每台机器上重现它,则必须查看用户的浏览器。

在任何情况下,您都需要在资源的响应中查看内容类型标头(使用 Fiddler 作为其他人的建议)并确保将其设置为正确的值。如果设置为image/jpeg,它会将其渲染为图像,但如果设置为application/octet-stream,它将下载它。我的预感是它被设置为其他内容(例如 text/htmltext/plain),这就是浏览器尝试将其显示为文本的原因。

【讨论】:

  • 内容类型设置为text/HTML utf-8,传输编码设置为chunked
  • 我想,这是你的问题!您需要将其设置为 application/octet-stream 以下载和 image/jpeg 以显示给用户。
猜你喜欢
  • 2011-11-24
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多