我有一个base64编码的字符串,用下面的php函数转换。
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字符串
的开始。数据:应用程序/vnd.openxmlformats-officedocument.wordprocessingml.document; base64, UEsDBBQABgAIAAAAI
我想下载确切的.docx或。doc文件上传
我在stackoverflow和其他论坛上搜索,但没有一个解决这个确切的问题。我也不想在提交html之前解码文件。
所以问题是下载的文件的文件扩展名没有添加到下载的base64文件中。我通过使用下面这个链接的html强制下载文件的名称来解决这个问题。在这里引用
<a href="<?= $base64_file ?>" download="file.docx" target="blank">Download</a>