<asp:Button ID="btnDownLoad" runat="server"  style="display: none" Text="a" OnClick="btnDownLoad_Click"  TabIndex="100" />
<asp:HiddenField ID="hidImageUrl" runat="server" />
    public partial class WebForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
} protected void btnDownLoad_Click(object sender, EventArgs e)
{
try
{
if (!string.IsNullOrWhiteSpace(hidImageUrl.Value))
{
Response.Buffer = true;
Response.AddHeader("Accept-Language", "zh-tw");
string content = hidImageUrl.Value;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(content);
req.Timeout = ;
HttpWebResponse rep = (HttpWebResponse)req.GetResponse();
Stream s = rep.GetResponseStream();
hidImageUrl.Value = "";
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpeg", System.Text.Encoding.UTF8));//attachment
Response.ContentType = "image/jpeg;charset=gbk";
System.Drawing.Image img = System.Drawing.Image.FromStream(s);
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
s.Close();
rep.Close();
Response.End();
}
}
catch (Exception ex)
{
Response.Write("请联系管理员!" + ex.ToString());
} } }
}
<a  href='#' id='loadimg' onclick=\"downloadFile('sss','" + ImageUrl + "')\" class='btn btn-link text-dec' > 下载</a>
function downloadFile(fileName, content) {
$('#ContentPlaceHolder1_hidImageUrl').val(content);
$('#ContentPlaceHolder1_btnDownLoad').click(); return false;
}

以上代码主要是通过JS代码调用服务器控件的OnClick事件;在后台把图片下载后保存至Response流中;实现类似下载Excel文件的功能

js 下载图片与下载文件的方式一样;保存至本地 ASP.NET 方式的更多相关文章

  1. Android开发之异步获取并下载网络资源-下载图片和下载文本内容

    在android网络开发过程中,经常需要获取网络资源,比如下载图片,下载文本文件内容等,这个时候就需要http请求来获取相应的网络资源.首先看看实例效果图:              下载图片截图   ...

  2. Node.js aitaotu图片批量下载Node.js爬虫1.00版

    即使是https网页,解析的方式也不是一致的,需要多试试. 代码: //====================================================== // aitaot ...

  3. Node.js 4493图片批量下载爬虫1.00

    这个爬虫依然需要iconv转码,想不到如今非utf8的网页还这么多.另外此网页找下一页的方式比较异常,又再次借助了正则表达式. 代码如下: //============================ ...

  4. Node.js mm131图片批量下载爬虫1.01 增加断点续传功能

    这里的断点续传不是文件下载时的断点续传,而是指在爬行页面时有时会遇到各种网络中断而从中断前的页面及其数据继续爬行的过程,这个过程和断点续传原理上相似故以此命名.我的具体做法是:在下载出现故障或是图片已 ...

  5. Node.js mimimn图片批量下载爬虫 1.00

    这个爬虫在Referer设置上和其它爬虫相比有特殊性.代码: //====================================================== // mimimn图片批 ...

  6. Node.js umei图片批量下载Node.js爬虫1.00

    这个爬虫在abaike爬虫的基础上改改图片路径和下一页路径就出来了,代码如下: //====================================================== // ...

  7. Node.js abaike图片批量下载Node.js爬虫1.01版

    //====================================================== // abaike图片批量下载Node.js爬虫1.01 // 1.01 修正了输出目 ...

  8. Node.js abaike图片批量下载Node.js爬虫1.00版

    这个与前作的差别在于地址的不规律性,需要找到下一页的地址再爬过去找. //====================================================== // abaik ...

  9. Node.js nvshens图片批量下载爬虫 1.00

    //====================================================== // www.nvshens.com图片批量下载Node.js爬虫1.00 // 此程 ...

随机推荐

  1. 【学】jQuery的源码思路2——$符号是如何封装的

    jQuery中的$符号功能很强大,原因在于对函数参数的个数以及种类的控制,还有对于面向对象思想的运用 function jQuery(args){ //接受参数,并对其判断 this.elements ...

  2. 为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧

    Repinted:http://blog.csdn.net/class1/archive/2006/12/30/1469298.aspx 为了让你的网页能在更多的服务器上正常地显示,还是加上“SET ...

  3. LinkedList详细分析

    一.源码解析1. LinkedList类定义2.LinkedList数据结构原理3.私有属性4.构造方法5.元素添加add()及原理6.删除数据remove()7.数据获取get()8.数据复制clo ...

  4. VS2013环境问题

    1.多字节支持问题,多字节默认(GB2312格式),需要安装一个补丁: https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=40 ...

  5. 从主机访问虚拟机上的Apache

    问题:VMWARE上安装的CentOS6.4,安装Apache,启动后,虚拟机上能访问,主机能ping通,但无法访问Apache. 原因:防火墙设置,配置iptables,开放apache的端口80

  6. hadoop namenpde机制

    1:通过查看hadoop的临时目录,看到有fsimage和edit文件 2:fsimage时namenode的元数据内存镜像文件,edit文件时hadoop客户端的操作记录, edit_inproce ...

  7. IOS 在不打开电话服务的时候,可以响应服务器的推送消息,从而接收服务器的推送消息

    在做即时通讯(基于xmpp框架)的时候遇到这样一个问题,就是在真机测试的时候,你按Home键返回桌面,在你返回桌面的时候,这是你的程序的挂起状态的,在你挂起的时候, 相当于你的程序是死的,程序的所有进 ...

  8. Java设计模式1——策略模式(Strategy Pattern)

    最近觅得一本好书<您的设计模式>,读完两章后就能断言,一定是一头极品屌丝写的,而且是专写给开发屌丝男的智慧枕边书,小女子就委屈一下,勉强看看,人笨,谁让他写得这么通俗易懂呢!为了加深理解, ...

  9. easyui datagrid columns field 如何支持一个或多个子属性

    //如果只需要一个子属性从value出发 {field:'customer',title:'会员手机',width:100, formatter: function(value,row,index){ ...

  10. vs中使用openGL

    一.准备工作 创建Empty Project,为了能够使用OpenGL的库函数,需要把相关的库连接到项目中: 1.首先添加库的路径 如上,可以把需要添加的include.lib放到一起比较方便管理 这 ...