首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置从浏览器下载的文件的名称?

如何设置从浏览器下载的文件的名称?
EN

Stack Overflow用户
提问于 2010-06-23 21:53:05
回答 4查看 95.6K关注 0票数 84

我正在编写一个web应用程序,其中包括允许用户将文件上传到我的服务器。为了防止名称冲突和组织文件,我在将它们放到服务器上后对它们进行了重命名。通过跟踪原始文件名,我可以与文件的所有者通信,而不会让他们知道我在后端更改了文件名。也就是说,在他们下载文件之前。在这种情况下,系统会提示他们下载一个名称不熟悉的文件。

我的问题是,有没有办法只使用HTML来指定要下载的文件的名称?因此,用户上传了一个名为“abc.txt”的文件,我将其重命名为“xyz.txt”,但当他们下载该文件时,我希望浏览器在默认情况下将该文件保存为“abc.txt”。如果仅仅使用HTML不能做到这一点,那么有什么方法可以做到呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-23 21:58:33

在HTML中找不到方法。我认为您需要一个服务器端脚本来输出content-disposition标头。在php中,这是这样做的:

代码语言:javascript
运行
复制
header('Content-Disposition: attachment; filename="downloaded.pdf"');

如果你想提供一个默认的文件名,而不是自动下载,这似乎是可行的。

代码语言:javascript
运行
复制
header('Content-Disposition: filename="filetodownload.jpg"');

实际上,它是直接为您的文件提供服务的服务器,因此您无法从HTML与它进行交互,因为根本不涉及HTML。

票数 85
EN

Stack Overflow用户

发布于 2015-02-06 19:13:48

当他们单击按钮下载文件时,您可以添加HTML5 attribute download,您可以在其中设置默认文件名。

当我创建了一个xlsx文件,浏览器希望将其保存为zip文件时,我就是这么做的。

代码语言:javascript
运行
复制
<a href="path/to/file" download="renamed.txt">Download</a>
<a href="downloads/export.xlsx" download="Data-Export.xlsx">Download Export</a>
票数 98
EN

Stack Overflow用户

发布于 2018-01-02 23:57:23

通过使用HTML5 download属性,这非常简单!

这里的

是我的代码演示。

https://codepen.io/xgqfrms/full/GyEGzG/

我的屏幕快捷方式。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3102226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档