Html 如何在iframe中更改文件下载名称?

Html 如何在iframe中更改文件下载名称?,html,Html,我的iframe标签看起来像贝娄 <iframe width="100%" height="100%" src="'+file_url+'" frameBorder="0"> <p>Your browser does not support .</p></iframe> 您的浏览器不支持 文件_url=store/asdfvasdfacsdfcddf.doc 文件名=my word.doc 当我单击iframe时,打开文件名不正确的链接文件下载

我的iframe标签看起来像贝娄

<iframe width="100%" height="100%" src="'+file_url+'" frameBorder="0"> <p>Your browser does not support .</p></iframe>
您的浏览器不支持

文件_url=store/asdfvasdfacsdfcddf.doc

文件名=my word.doc


当我单击iframe时,打开文件名不正确的链接文件下载。(文件名为asdfvasdfacsdfcddf.doc的文档文件下载)。如何使用iframe下载具有真实文件名的文件?

这与HTML无关。你不能这样做

web服务器需要发送“内容处置”标题。如何使您的服务器做到这一点取决于服务器上运行的软件

或者。。。只需将URL更改为此(并在服务器上移动文件):


store/asdfvasdfacsdfcddf/Filename.doc在支持
下载
属性的现代浏览器中,您应该能够通过以下方式指定:

<a href="http://google.com" download="awesome.html">Download</a>

好消息是,这也会触发浏览器中的强制下载行为

或者,您可以通过PHP脚本将下载内容传递给用户,以设置要在标题中提供的文件名,如下所示:

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>

iframe
元素不能这样做,但您可以将其放入“store”目录中的
.htaccess
文件中:

<FilesMatch ".doc$">
Header set Content-Disposition "attachment; filename=myword.doc"
</FilesMatch>

标题集内容处置“附件;文件名=myword.doc”

注意,我在这里假设Apache,但大多数Web服务器都有类似的功能

您能详细说明一下吗?
似乎不是我所知道的任何规范的一部分。你确定吗?我不知道你从哪里得到这个
download
属性,但它没有在W3C HTML5规范中的小节、小节或小节下列出。嗯,再想想
download
可能在iframe上不起作用,我将更新我的评论以反映这一点。您可以阅读
下载
属性@omgmog interest。我猜他们忘了在
a
area
部分添加它作为属性。@JamesDonnelly该属性是由whatwg提供的,这是几个主要浏览器供应商的非官方团体努力的结果。它们不是官方标准过程的一部分,所以它们的锅通常不会成为标准的一部分。