php,或js如何实现点击图片另存为

JavaScript015

php,或js如何实现点击图片另存为,第1张

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是不可以访问客户端资源的,从来都没有,如果有的话,那还有什么安全性可言?否则就是网页木马的做法,就是要找一些浏览器的漏洞,而程序上是办不到的。若想合法的获取客户端上的东西,方法是做active组件,并要客户端主动安装 。

如果上面的说法你觉得没问题的话,那么想想“另存为”这样的操作至少要涉及到文件路径的访问了吧,所以应该是没有办法做的。