如何强制下载 url 中的 pdf?
我有一个指向 pdf 文件的 URL。在我的 Coldfusion 页面中,我想允许用户下载文件(使用打开/保存对话框或特定浏览器处理它的方式)。
这是我到目前为止的代码:
<cfset tempFile = getTempFile(getTempDirectory(), 'testfile') />
<cfhttp url="myUrl/myFile.pdf" method="get" file="#tempFile#"/>
<cfheader name="Content-Disposition" value="attachment; filename=myFile.pdf">
<cfcontent type="application/pdf" file="#tempFile#">
这似乎有效...但是当我尝试打开该文件时,它告诉我该文件有问题。我做错了什么?
I have a URL that goes to a pdf file. In my coldfusion page, I want to allow the user to download the file (using the open/save dialog or however that particular browser handles it).
This is the code I have so far:
<cfset tempFile = getTempFile(getTempDirectory(), 'testfile') />
<cfhttp url="myUrl/myFile.pdf" method="get" file="#tempFile#"/>
<cfheader name="Content-Disposition" value="attachment; filename=myFile.pdf">
<cfcontent type="application/pdf" file="#tempFile#">
This seems to work... but when I try to open the file it tells me something's wrong with the file. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试将文件名和路径分开:
对于较小的文件,您可以跳过临时文件并使用
更新: 使用临时文件的动态示例
Try separating the file name and path:
For smaller files you might skip the temp file and use
<cfcontent variable..>
Update: Dynamic example using a temp file
据我所知,您的编码在 Google Chrome 中没有问题。在IE中,错误信息提示。这是因为“文件路径”不支持URL路径。应使用目录路径而不是 URL 路径。
As far as I know, your coding is fine in Google Chrome. In IE, error message prompt. It's because of "file path" cannot support for URL path. Should use directory path instead of URL path.