JS:
使用JS实现单击连接保存图片2种形式都可以第一种:
<script>
function SaveAs5(imgURL)
{
var oPop = window.open(imgURL,"","width=1, height=1, top=5000,
left=5000")
for(oPop.document.readyState != "complete")
{ if (oPop.document.readyState == "complete")break}
oPop.document.execCommand("SaveAs")oPop.close()
}
</script>
<img src="t_screenshot_17616.jpg" id="DemoImg" border="0"
onclick="SaveAs5(this.src)">
第二种:
<script>function SaveAs5(imgURL)
{
var oPop = window.open(imgURL,"","width=1, height=1, top=5000,
left=5000")
for(oPop.document.readyState != "complete")
{ if (oPop.document.readyState == "complete")break}
oPop.document.execCommand("SaveAs")oPop.close()
}
</script>
<img src="../t_screenshot_17616.jpg" id="DemoImg" border="0">
<a href="#" onclick="SaveAs5(document.getElementByIdx_x('DemoImg').src)">
点击这里下载图片 </a>
PHP:
<a href="test.php?url=uploads/1112/1-11122212201R28.jpg">下载</a>
test.php文件代码:
<?php
$dir=$_GET['url'] //获取图片地址$file = fopen($dir,"r") // 打开文件
Header("Content-type: application/octet-stream")
Header("Accept-Ranges: bytes")
Header("Accept-Length: ".filesize($dir))
Header("Content-Disposition: attachment filename=" . $dir)
echo fread($file,filesize($dir))
fclose($file)
exit
?>
js没有操作本地文件的权限,可以借助.net,php等后端语言才行的,将图片提交之后,返回个下载地址,window.open就自动下载了。但是图片可以是svg的话
function saveAs(Url,filename){
var blob=new Blob([''], {type:'application/octet-stream'})
var url = webkitURL.createObjectURL(blob)
var a = document.createElementNS(xhtml,'a')
a.href = Url
a.download = filename
var e = document.createEvent('MouseEvents')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
webkitURL.revokeObjectURL(url)
2. saveAs(data,"new.svg")