0

ブラウザでレンダリングされたときにタイプを失うことなく、非画像ファイルを DiskCache することは可能ですか?

このページの指示に従いました: http://imageresizing.net/docs/v4/howto/cache-non-images

指示に従って、PostAuthorizeRequestStart = True と cache = Always を PostAuthorizeRequestStart イベントに設定しました。config に .unknown mimeType も追加しました。

ただし、xml ファイルが要求されると、「text/xml」ではなくコンテンツ タイプ「application/octet-stream」として返されます。

非画像ファイルの元のコンテンツタイプを保持する方法はありますか?

4

1 に答える 1

0

残念ですが、少なくとも ImageResizer のソース コードを変更することはありません。

セキュリティを優先し、IIS によって誤ってスクリプトとして実行されるのを防ぐために、すべてのファイルを ".unknown" 拡張子で保存することにしました。IIS はファイル拡張子に基づいて content-type を送信し、(IIS 構成に応じて) ファイルをコードとして実行するかどうかを拡張子によって決定します。

他のユーザーが IIS にこれらのファイルの種類を実行可能と見なすことを許可していないという確信がある限り、拡張機能の「ホワイトリスト」を拡張して画像以外のファイルの種類を含めても問題はないと思います。

(v4+ で) 変更する必要があるコードは、HttpModuleRequestAssistant.EstimateResponseInfoです。すぐに「不明」に戻る代わりに、2 番目のホワイトリストを調べることができます。

これについて GitHub で問題を報告する場合は、通知を購読できます。特にパイプラインへの変更のリスクが少ない現在の v4 プレリリース フェーズでは、この機能要求に対処するプル リクエストを確実に受け入れます。

于 2015-05-18T17:34:20.260 に答える