我的应用程序生成 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 验证)遗憾的是,两者都不起作用。
示例网址是
/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