如何强制下载图像?
我在我的页面上有一个动态生成的图像,如下所示:
而不是告诉我的用户右键单击图像并点击保存我想要公开下载链接,点击该链接时会提示下载图像。 怎么做到这一点?
最初我在js中尝试这样做:
var path = $('#my_image').attr('src'); window.open('./download.php?file=' + path);
并在download.php中:
<img src="https://stackoverflow.com/questions/12047884/how-to-force-an-image-to-be-downloaded/" />
但问题是,Base64 url stirngs如此之大,超出了GET请求字节限制。
我对JavaScript或PHP的解决方案持开放态度。
在download.php中试试这个:
并将其用于表单:
像Dagon说这不是最好的方法,因为提交表单就像上传整个图像一样。
原来其他一个问题确实得到了答案:
浏览器/ HTML强制从src =“data:image / jpeg; base64 …”下载图像
我严格按照客户端sde这样做:
$('a#download_image').on('click', function() { var url = $('#my_image').attr('src').replace(/^data:image\/[^;]/, 'data:application/octet-stream'); location.href = url; });