ASP.NET 图片下载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/li_ser/article/details/22949439

我的链接中既有图片下载,又有文档下载,当点击文档时可以正常下载,点击图片下载时就直接打开了,搞了两小时用以下方法解决了,贡和我一样的菜鸟们借鉴!

第一步:在页面中添加一个iframe <iframe src="" runat="server" id="downloadfram" name="downloadfram" width="600px" height="0px"></iframe>;

第二步:将要下载的图片地址绑定到事件中 <a href="#" οnclick="downLoads('<%# Server.UrlEncode(Eval("Ext").ToString())%>')">下载</a>

第三步:编写客户端事件,改变iframe地址

        function downLoads(imgUrl) {
            $("#downloadfram").attr("src", "DownLoad.aspx?imgUrl=" + imgUrl);
        }

       此处应用了jQuery,需要在页面中引入。

第四步:新增一个下载页面 DownLoad.aspx

第五步:编写下载页面服务器端代码

        protected void Page_Load(object sender, EventArgs e)
        {

           if (Request.QueryString["imgUrl"] != null)
            {
                string dirPath = Server.MapPath("/") + Server.UrlDecode(Request.QueryString["imgUrl"].ToString().Replace("~/",""));
                download_Click(dirPath);
            }

        }

 

       protected void download_Click(String path)
        {
            if (File.Exists(path))
            {
                FileInfo DownloadFile = new FileInfo(path);
                Response.Clear();
                Response.ClearHeaders();
                Response.Buffer = false;
                Response.ContentType = "application/octet-stream";
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));
                Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
                Response.WriteFile(DownloadFile.FullName);
                Response.Flush();
                Response.End();
            }
        }

展开阅读全文

没有更多推荐了,返回首页