我们用asp.net编写了CMS应用程序。用户可以将文件文档,pdf附加到其表单并相互发送。用户可以轻松下载pdf和其他文件,但当他们想下载jpg文件时,他们的IE渲染jpg文件为二进制文件并显示jpg文件的二进制文件? IE没有显示保存为对话,如其他文件!
哪里有问题?以及如何在asp.net中处理这个?它与HTTPS有关吗?因为用户使用https连接到此cms。
答案 0 :(得分:0)
据我所知,用户需要下载文件,他们能够为某些文件而不是JPEG吗?它显示为二进制,你的意思是什么,它显示字节码?
请记住,每个请求在响应中都有一个内容类型标题,它会向浏览器标识它是什么类型的内容。这是一个已知的MIME类型,如image / jpeg,...
Content-Type: text/html; charset=utf-8
浏览器根据内容类型加载每个资源。话虽如此,浏览器可以按照自己的方式加载资源。我可以个性化并将我的浏览器设置更改为某个点,因此如果您无法在每台计算机上重现它,则必须查看用户的浏览器。
在任何情况下,您都需要在资源的响应中查看content-type标头(使用Fiddler,就像其他人也建议的那样),并确保将其设置为正确的值。如果设置为image/jpeg
,则会将其呈现为图像,但如果设置为application/octet-stream
,则会将其下载。我的预感是设置为其他内容(例如text/html
或text/plain
),这就是浏览器尝试将其显示为文本的原因。