HTTPコンテンツ配置ヘッダを解析しませんIE 11にIE 11が正しく
をファイルのダウンロードを行いながら、私はIE 11で非常に奇妙な行動に直面したカスタムファイル名を取得するために、コンテンツ配置ヘッダを設定しようとしていますContent Dispositionヘッダーのファイル名にエスケープ文字(U + 001B)があります。IE 11は適切なファイル名を設定できません(Content Dispostionヘッダーで提供されます)。たとえば、フォーマットされたfile_name_1
とcontent_disposition
は、IE 11にエラーを発生させますが、file_name_2
でフォーマットすることは結構です:
# There are invisible control character escape (U+001B)
name = u'_$B!'
file_name_1 = quote(name) # gives "_%1B%24B%21"
file_name_2 = "_%24B%21.pdf"
content_disposition = "attachment; filename*=utf-8''%s" % file_name_2
は、IE11で任意のUTF8ファイル名のサポートを提供する任意の方法がありますです。
注:他のすべてのブラウザでは、すべてが正常に動作するようですし、私は他のブラウザを壊すことなく、IE 11の動作を修正する方法がある願っています...
私は理解していない - なぜ最初にファイル名に*不可視の*文字が必要でしょうか?これは何らかのセキュリティフィルタである可能性があります。 –
@Pekkaの場所は関係ありません。%1Bはファイル名のどこにでも置くことができますが、%1bが存在する場合、ファイル名が正しく表示されない場合があります。また、私はファイル名として入れるデータを制御することはできません。 –
IE11でどんなファイル名を取得していますか? –