允许用户在将文件重命名为唯一文件名后使用其原始文件名下载文件
Allow a user to download a file using it's original filename after it's been renamed to a unique filename
我正在制作一个用户可以上传文件的网站。所有文件都存储在同一位置,因此我目前正在为每个文件生成一个唯一的文件名,以避免保存具有相同名称的文件。我还将原始文件名存储在数据库中。
当用户想要下载那里的文件时,我正在检索唯一的文件名,这是他们下载的文件的名称(如浏览器显示的 "Save as" 对话框中所示)。
是否可以将原始名称作为 "Save as" 对话框的默认名称?
我的一个想法是使用原始文件名将文件复制到临时文件夹,然后让用户下载该文件,但从技术上讲,可能会出现这样的情况,即尝试使用两个具有相同原始文件名的文件同时下载,一个覆盖另一个,一个用户下载另一个的文件。
如果相关,我正在使用 PHP。
谢谢
是的,这是可能的。您应该使用 Content-Disposition
HTTP header。看看 documentation here.
header('Content-Disposition: attachment; filename="' . $original_filename . '"');
我正在制作一个用户可以上传文件的网站。所有文件都存储在同一位置,因此我目前正在为每个文件生成一个唯一的文件名,以避免保存具有相同名称的文件。我还将原始文件名存储在数据库中。
当用户想要下载那里的文件时,我正在检索唯一的文件名,这是他们下载的文件的名称(如浏览器显示的 "Save as" 对话框中所示)。
是否可以将原始名称作为 "Save as" 对话框的默认名称?
我的一个想法是使用原始文件名将文件复制到临时文件夹,然后让用户下载该文件,但从技术上讲,可能会出现这样的情况,即尝试使用两个具有相同原始文件名的文件同时下载,一个覆盖另一个,一个用户下载另一个的文件。
如果相关,我正在使用 PHP。
谢谢
是的,这是可能的。您应该使用 Content-Disposition
HTTP header。看看 documentation here.
header('Content-Disposition: attachment; filename="' . $original_filename . '"');