私のアプリは、ユーザーが使用するために PDF を生成します。「Content-Disposition」http ヘッダーは、ここで説明したように設定されます。これは「inline; filename=foo.pdf」に設定されています。これは、Acrobat が PDF を保存するときにファイル名として「foo.pdf」を指定するのに十分なはずです。
ただし、ブラウザに埋め込まれた Acrobat の [保存] ボタンをクリックすると、保存するデフォルトの名前はそのファイル名ではなく、スラッシュをアンダースコアに変更した URL になります。巨大で醜い。Adobe でこのデフォルトのファイル名に影響を与える方法はありますか?
URL にはクエリ文字列があり、これは交渉不可能です。これは重要かもしれませんが、URL の末尾に「&foo=/title.pdf」を追加しても、デフォルトのファイル名には影響しません。
更新 2: 両方を試しました
content-disposition inline; filename=foo.pdf
Content-Type application/pdf; filename=foo.pdf
と
content-disposition inline; filename=foo.pdf
Content-Type application/pdf; name=foo.pdf
(Firebug で確認済み) 残念ながら、どちらも機能しませんでした。
サンプルURLは
/bar/sessions/958d8a22-0/views/1493881172/export?format=application/pdf&no-attachment=true
これは、デフォルトの Acrobat の保存ファイル名に変換されます。
http___localhost_bar_sessions_958d8a22-0_views_1493881172_export_format=application_pdf&no-attachment=true.pdf
更新 3: Julian Reschke は、このケースに実際の洞察と厳密さをもたらします。彼の答えに賛成してください。これは FF ( https://bugzilla.mozilla.org/show_bug.cgi?id=433613 ) と IE では壊れているようですが、Opera、Safari、および Chrome では機能します。http://greenbytes.de/tech/tc2231/#inlwithasciifilenamepdf