0

是否可以在浏览器中呈现 DiskCache 非图像文件而不会丢失其类型?

我按照此页面上的说明进行操作:http: //imageresizing.net/docs/v4/howto/cache-non-images

根据说明,我在 PostAuthorizeRequestStart 事件中设置了 PostAuthorizeRequestStart = True 和 cache = Always。我还在配置中添加了 .unknown mimeType。

但是,当请求一个 xml 文件时,它会作为内容类型“application/octet-stream”而不是“text/xml”返回。

无论如何要保留非图像文件的原始内容类型?

4

1 回答 1

0

恐怕不会——至少在不修改 ImageResizer 源代码的情况下不会。

我们决定优先考虑安全性,并以“.unknown”扩展名保存所有文件,以防止它们意外地被 IIS 作为脚本执行。IIS 基于文件扩展名发送内容类型,并且(取决于您的 IIS 配置)扩展名确定文件是否应作为代码执行。

我认为扩展扩展的“白名单”以包含非图像文件类型没有什么害处,只要我们有理由相信其他用户不允许 IIS 认为这些文件类型是可执行的。

需要修改的代码(在 v4+ 中)是HttpModuleRequestAssistant.EstimateResponseInfo。可以咨询第二个白名单,而不是立即回到“未知”。

如果您在 GitHub 上提出有关此问题的问题,您可以订阅通知。我们肯定会接受针对此功能请求的拉取请求,特别是在当前 v4 预发布阶段,此时对管道的更改风险较小。

于 2015-05-18T17:34:20.260 回答