2013-02-12 75 views
3

我试图让按钮以png格式保存图像。该图像可以来自URL,来自资源或来自web api以编程方式将图像保存为HTML5/Java Script

我是网络开发世界的初学者。我知道,任何按钮操作可以这样做:

<input type="button" value="Save image"  onclick="saveimage();" /> 

或像这样(我不知道哪一个是更好地执行)

<button type="button" onclick="saveimage();">Save Image</button> 

我不知道要放什么东西在Javascript头可以将图像保存为PNG。任何线索?

谢谢!

+0

你有一个visual-studio-2012标签......这是ASPX的任何机会吗? – Rhs 2013-02-12 20:49:43

+0

您是否还有其他一些用户可以提供图像的输入控件?它总是在.png中,或者你可能需要转换它? – 2013-02-12 20:50:36

+0

@Rhs这不是ASPX,它是HTML5与Java脚本 – user1415780 2013-02-12 20:55:05

回答

2

我所知道的唯一的解决办法是这样的一个:

<script> 
function saveImageAs (imgOrURL) { 
    if (typeof imgOrURL == 'object') 
     imgOrURL = imgOrURL.src; 
    window.win = open (imgOrURL); 
    setTimeout('win.document.execCommand("SaveAs")', 500); 
    } 
</script> 
<body> 

    <A HREF="javascript: void 0" 
    ONCLICK="saveImageAs(document.anImage); return false" > 
    save image</A> 
    <IMG NAME="anImage" SRC="../apache_pb2.gif"> 
</body> 

但它只能在IE浏览器。 这将是不同的故事,如果你会使用服务器端脚本(PHP,ASP)。 然后你可以设置响应头来强制用户下载一个文件(获取另存为..对话框)

+0

感谢您的反馈 我试图应用此方法,但即使在IE中,我也遇到了一个错误:一旦我点击该按钮,就会打开一个新窗口,显示“资源不能找到“,然后打开一个保存对话框,询问是否保存一个返回到相同错误页面的HTM页面....任何线索? – user1415780 2013-02-12 23:35:23

+1

刚刚在本地机器上试过 - 在新窗口(IE9和FF18)中打开图像。如果你有“资源未找到错误”,请仔细检查为图像提供的src和onclick事件的saveImageAs应该获取document.ImageName作为参数。 – 2013-02-13 00:15:11

+0

谢谢,我有一个打字错误,它的工作原理,你描述:) 以我的理解,要得到一个另存为对话框,我将需要使用PHP或ASP,有没有办法在JavaScript中做到这一点? – user1415780 2013-02-13 15:38:49

相关问题