【发布时间】:2021-02-13 00:36:01
【问题描述】:
我有一个用下面的 php 函数转换的 base64 编码字符串。
public function convert_image_to_base64($file_path){
$mime = get_mime_by_extension($file_path);
$data = file_get_contents($file_path);
return 'data:'. $mime . ';base64,' . base64_encode($data);
}
我想用下面的html在浏览器中下载文件
<a href="<?= $base64_file ?>" target="blank">Download</a>
当我点击时,该链接会下载一个 zip 文件。
这是生成的 base64 字符串的开始
数据:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,UEsDBBQABgAIAAAAI
我想下载准确的 .docx 或 .doc 文件上传
我在 stackoverflow 和其他论坛上进行了搜索,但都没有解决这个确切的问题。我也不想在提交 html 之前解码文件。
【问题讨论】:
-
将完整文件放在页面内的 base64 url 中是个坏主意
-
@DanielA.White 我选择将文件放在 html 中是出于安全原因。这将是机密文件。
-
这不是一个足够好的理由 - 仍然有办法通过身份验证和授权来保护它