首页 新闻 会员 周边 捐助

html 点击 下载图片的实现

0
悬赏园豆:10 [已解决问题] 解决于 2013-04-15 10:43

一般而言,用a标签链向图片资源的话,会在浏览器上打开图片,而不是下载图片。

js中document.execCommand这个方法我已经试过了,实现不了。恳请解决方案。

lqzerogg的主页 lqzerogg | 初学一级 | 园豆:90
提问于:2013-03-08 16:47
< >
分享
最佳答案
0

你可以这样实现,让a标签的url指向一个页面,并且以传入了这个图片的名称,比如

<a href="new.aspx?pic=1.jpg">pic</a>

后台返回这个页面的时候,动态的将1.JPG添加到new.aspx中

收获园豆:10
朝曦 | 小虾三级 |园豆:1073 | 2013-03-08 17:16

是不是在页面里面还要写代码?

大稳·杨 | 园豆:202 (菜鸟二级) | 2016-08-05 08:43

@大稳·杨:  是,读取图片,返回文件流

朝曦 | 园豆:1073 (小虾三级) | 2016-08-05 08:48

@朝曦: 我这个不是跳转页面,是前端调我接口。能在接口实现吗?

大稳·杨 | 园豆:202 (菜鸟二级) | 2016-08-05 08:51

@大稳·杨:  如果前端调用异步加载图片我没这么搞过。

我以前用过的端调异步加载图片的方式和步骤

1、前端调用服务器端接口

2、服务器端读取pic文件流,将该流的内容转化成base64编码。

3、服务器端生成前端页面可以用的字符串。

4、服务器返回生产的数据

5、前端将返回的数据复制给img标签的 src属性

朝曦 | 园豆:1073 (小虾三级) | 2016-08-05 09:00

@大稳·杨: 

pic转化base64的实现方式和base64的格式? 

http://www.atool.org/img2base64.php  打开这个看看,这个工具可以将图片序列化成base64字符并且是img标签可以用的

朝曦 | 园豆:1073 (小虾三级) | 2016-08-05 09:05

@朝曦: 可能是我表述的不准确。我描述一下我的问题:前台链接地址是图片地址,点击链接就可以下载,而不是打开新标签查看图片,这个应该怎么解决?

大稳·杨 | 园豆:202 (菜鸟二级) | 2016-08-05 09:17

@大稳·杨: 这个我之前没做过,不过网上一大堆这样的代码,你可以试一试 

比如这个 http://www.jb51.net/article/39921.htm

朝曦 | 园豆:1073 (小虾三级) | 2016-08-05 09:30

@朝曦: 好的,谢谢

大稳·杨 | 园豆:202 (菜鸟二级) | 2016-08-05 10:43
其他回答(2)
1

1.将a标签的链接地址指向一个页面

2.在页面里面提供页面的下载,而不是显示,用如下代码

Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=user-icon.png");
Response.ContentType = "image/png";

Response.WriteFile("user-icon.png");

 

这里的user-icon.png 可以替换我为你自己的文件

陈希章 | 园豆:2538 (老鸟四级) | 2013-03-09 19:28
0

您好,我现在遇到了同样的问题,请问你怎么实现的?

用微笑钓鱼 | 园豆:202 (菜鸟二级) | 2015-02-11 11:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册