http - "name"web pdf 在 Acrobat 中更好的默认保存文件名?

标签 http pdf content-type acrobat

我的应用生成 PDF 供用户使用。 “Content-Disposition”http header 的设置如前所述 here .这设置为“inline; filename=foo.pdf”,这应该足以让 Acrobat 在保存 pdf 时将“foo.pdf”作为文件名。

但是,在浏览器嵌入的 Acrobat 中单击“保存”按钮后,要保存的默认名称不是该文件名,而是带有斜杠的 URL 更改为下划线。又大又丑。有没有办法在 Adob​​e 中影响此默认文件名?

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

最佳答案

部分问题是相关的RFC 2183并没有真正说明如何处理“内联”处置类型和文件名。

此外,据我所知,唯一实际使用 type=inline 文件名的 UA 是 Firefox(请参阅 test case)。

最后,插件 API 实际上使该信息可用并不明显(也许熟悉 API 的人可以详细说明)。

话虽这么说,我已经将这个问题的指针发送给了 Adob​​e 人员;也许合适的人会看看。

相关:请参阅 draft-reschke-rfc2183-in-http 中阐明 HTTP 中内容处置的尝试-- 这是正在进行的早期工作,感谢反馈。

更新:我添加了一个 test case ,这似乎表明 Acrobat 阅读器插件不使用响应 header (在 Firefox 中),尽管插件 API 提供对它们的访问。

关于http - "name"web pdf 在 Acrobat 中更好的默认保存文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/151079/

相关文章:

jquery - Microsoft Edge PDF 滚动和突出显示问题

javascript - 在 vue.js 中显示原始图像内容类型

python - 请求为什么在获取安全链接时失败

java - 如何通过浏览器/ postman 发送 GET 请求中的 json 数据?

javascript - 使用 Websockets 构建一个简单的 SMTP 客户端

.net - 以编程方式搜索 PDF 文件中的文本并告知页码?

html - 被视为图像资源的 CSS 文件

仅用于打印的 PDF 水印,以编程方式

php - 从 ajax post 下载 pdf

ruby - 使用 Ruby 文件设置内容类型创建的文件?