我有一个报告数据库,其中可能的附件作为 Base64 字符串直接嵌入到页面上。 <a>
标记使用提供文件名的下载属性。
必须下载浏览器可以本地呈现的附件类型(例如图像、音频文件、文本文件等)有点烦人。
是否可以使用类似 <a filename=$ATTFILENAME data=...>
的东西?这样如果用户右键单击链接下载它,文件名已经填充?
(使用 <a download=$ATTFILENAME data=...>
并单击链接时,文件名与 (PHP) 变量 $ATTFILENAME
匹配。没有下载属性,文件名为“下载”)。
最佳答案
修复很简单。
如果您使用内联 php 进行模板化,那么一个简单的 <a download="<?php echo $ATTFILENAME ?>" href="Base64EncodedData">
应该解决它。
如果您使用的是模板系统(Smarty、twig、Blade 等),请参阅它的文档以了解如何输出字符串。
这些,当然假设你有一个$ATTFILENAME
存在原始文件名的变量。如果您没有在上传时存储它,那么(据我所知)没有办法恢复原始文件名。
关于php - HTML anchor 标签下载,文件名属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37614139/