小编ACJ*_*ACJ的帖子

如何强制下载图像?

我在我的页面上有一个动态生成的图像,如下所示:

<img id="my_image" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA/gD+AAD/etc............" />
Run Code Online (Sandbox Code Playgroud)

而不是告诉我的用户右键单击图像并点击保存我想要公开下载链接,点击后将提示下载图像.怎么做到这一点?

最初我在js中尝试这样做:

var path = $('#my_image').attr('src');
window.open('./download.php?file=' + path);
Run Code Online (Sandbox Code Playgroud)

并在download.php中:

<?php
    header('Content-Description: File Transfer');
    header("Content-type: application/octet-stream");
    header("Content-disposition: attachment; filename= " . $_GET['file'] . "");
?>

<img src="<?= $_GET['file'] ?>" />
Run Code Online (Sandbox Code Playgroud)

但问题是,Base64 url​​ stirngs如此之大,超出了GET请求字节限制.

我对JavaScript或PHP的解决方案持开放态度.

javascript php jquery base64

3
推荐指数
1
解决办法
5438
查看次数

标签 统计

base64 ×1

javascript ×1

jquery ×1

php ×1