如何使用 HTML5 重命名下载时的文件

How do i rename a file on download using HTML5?

本文关键字:文件 下载 重命名 何使用 HTML5      更新时间:2023-09-26

我一直在开发一个允许用户上传和下载文件的网站。该文件在上传时重命名并存储在我的服务器上。但是当它被下载时,它必须重命名,即它的原始名称。目前我正在使用以下内容来执行此操作:

<a href="file link" download="Original name">Download</a>

但是"下载"属性不适用于火狐浏览器。使用javascript或jquery有什么替代方案吗?我在服务器端使用 php。

编辑:

感谢您使用 php 的解决方案。但这不是我要找的。我正在使用使用javascript的自定义文件查看器。单击文件的缩略图时,将显示查看器。发送 AJAX 请求以获取指向该文件的链接。响应(链接)用于显示文件,也添加到标签中以供下载。php 解决方案意味着在每个请求上重新加载页面,我想避免这种情况。那么任何javascript或jquery解决方案?

在服务器上使用 header("Content-Disposition: attachment; filename='Original name'")

尝试以下代码

    header('Content-Disposition: attachment; filename='.basename('newfilename.txt'));
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize('filename.txt'));
    ob_clean();
    flush();
    readfile('filename.txt');