2012-09-02 32 views
2

当用户选择一张照片并点击一个按钮时,我想下载一个图像文件(jpeg图像)到用户文件系统。到目前为止,我搜索并找到this linkthis如何用JavaScript保存图像

我在一个博客中看到,与jszip一起使用时可以下载,但可以启用此功能,但没有在此指定更远的位置。是否有人知道如何下载图像。我有图像的链接,我只想让用户在他的系统上下载它,而不是再次查询服务器。

任何人都可以提供给我一个例子。

+1

[你尝试过什么?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)和[这里](http://pixelgraphics.us/ downloadify/test.html)就是一个例子。 – Peter

+0

是的,我已经看到了...我在我的问题中明确提到它是图像文件而不是文本文件 – Nav

+0

我试过jszip,但无法得到它在正确的格式...我提供了在问题 – Nav

回答

1

最后我做到了。对于任何人谁需要这在未来这里是使用jQuery

jQuery.ajax({ 

    url: 'http://localhost:8080/yourwebsite/servlet?img=' + document.getElementById(id).alt, 
    //data: myData, 
    type: 'GET', 
    crossDomain: true, 
    dataType: 'jsonp', 
    // success: function() { alert("Success"); }, 
    // error: function() { alert('Failed!'); }, 
    // beforeSend: setHeader 
}); 

这一点,我不得不遇到这通常是阻止大多数网站,除非你遵循一些冗长的跨域的HTTP请求的问题,我该怎么做处理。所以,我简化了一下,并在我的servlet中调用了一个get方法,并将它传递给它下载图像的图像的URL。如果你在同一个域上,但是这样做更容易,而且更容易。不符合我的要求,并且此代码对我有效:)

+0

你的代码在我的工作[条件](http://stackoverflow.com/questions/27555791/how-to-export-all-images-that-got-retrieve-from-html-dom-parser?noredirect=1#comment43537948_27555791)? – 2014-12-18 21:26:00

3

您可以将图像加载到画布元素中获取画布的数据网址,并打开一个新的窗口,并将数据网址作为源。看看这个例子:https://gist.github.com/1875132

+0

谢谢你的评论..我会尝试一下:) ...顺便说一句,我使用一个正常的img标签将这个代码工作的img标签或做它ony工作的画布标签? – Nav

+0

问题是你不能获取图片标签的数据网址。这就是你需要先将其转换为画布的方式。 –

+0

可以üPLZ解释什么数据的网址是...我有点小白这个东西:(其实我正在制作一个网站,这是与Facebook和Facebook集成通过我使用图形API(jpeg)的链接。图像检索代码是在这里的链接http://stackoverflow.com/questions/12234853/how-to-get-large-pictures-from-photo-album-via-facebook-graph-api – Nav

2

使用HTML5 download属性。

作为选项,您可以将文件名设置为属性值。

<a href="/images/image-name.jpg" download="new-image-name.jpg">