如何在通过HTTP下载时指定文件名



我目前在S3上以以下格式存储我的wooccommerce产品文件:

/bucket/{product_id}.zip

当客户点击其客户仪表板中的下载链接时,元素如下:

<a href="https://url/1234.zip">Download Product Name</a>

这会将文件以1234.zip 的形式下载到他们的下载文件夹中

我希望能够向请求传递一些值,这样文件名就可以下载为{param1}-{param2}.zip

像这样:

<a href="https://url/1234.zip" download=`${param1}-${param2}.zip`>Download Product Name</a>

参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-下载

注:

下载仅适用于同源URL,或blob:和数据:计划。浏览器处理下载的方式因浏览器、用户而异设置和其他因素。用户可能会在下载开始,或者文件可能会自动保存,或者在外部应用程序或浏览器本身。如果Content Disposition标头不同下载属性中的信息,由此产生的行为可能不同:如果标头指定了一个文件名,则它的优先级高于下载属性中指定的文件名。如果标头指定内联、Chrome和Firefox的部署会优先考虑属性并将其视为下载。旧版Firefox(82年以前(对标题进行优先级排序,并将内联显示内容。

当他们点击按钮下载文件时,你可以添加HTML5属性"下载";您可以在其中设置默认文件名。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-下载

<a href="https://url/1234.zip"下载={${param1}-${param2}.zip}>下载产品名称

最新更新