.net批量下载图片

2021-01-19 21:16

阅读:704

标签:fun   按钮   中文   tar   top   head   是什么   get   create   

问题:

我想实现的是一个一个的下载。

比如我有一个文件列表。通过checkbox选择。通过单击下载按钮下载选中文件。

百度到都是用打包形式实现批量下载。

这是我自己写的代码,但是点击下载后只能下载一个文件。单步调试,循环只执行一次。不知道是什么原因。

后台代码

string Name;

string Path;

protected void Button2_Click(object sender, EventArgs e)

{

    foreach (Control control in Panel1.Controls)

    {

        try

        {

            if (((CheckBox)control).Checked)

            {

              //获取选择文件的相对路径。我将文件的相对路径写在了CssClass里面

                Path = ((CheckBox)control).CssClass;

                string[] path = Path.Split(‘/‘);

                Name = path[path.Length - 1];

                download(Path, Name);

            }

        }

        catch (Exception)

        { continue; }

    }

}

 

private void download(string Path, string Name)

{

    //用户下载文件时保存文件使用的默认命名

    string downLoadFileName = Name;

    //设定响应类型为下载

    this.Response.ContentType = "application/x-zip-compressed";

    //获取下载文件在服务器端的物理路径

    string downLoadPath = this.Server.MapPath(Path);

 

    //添加响应头标示信息  this.Server.UrlPathEncode对下载文件名进行编码 防止文件名乱码

    this.Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", this.Server.UrlPathEncode(downLoadFileName)));

    //下载文件输出

    this.Response.TransmitFile(downLoadPath);

    this.Response.End();

}

具体怎样实现?是用多线程吗?求大大们指教。谢谢

 

解决方案:

包含头

    

    

donw2-多文件演示页面

    

    

    

    

    

    

    

 

创建对象

    var downer = new DownloaderMgr();

    downer.Config["Folder"] = "";//设置默认下载路径。

    //挂载事件

    downer.event.taskCreate = function (obj) { $(document.body).append("文件ID:" + obj.fileSvr.id) + "
"; };

    downer.event.downProcess = function (obj) { };

    downer.event.downStoped = function (obj) { };

    downer.event.downComplete = function (obj) {

        $(document.body).append(‘

本地路径:‘ + obj.fileSvr.pathLoc + ‘
‘);

    };

    downer.event.downError = function (obj, err) { };

    downer.event.queueComplete = function () { $(document.body).append("

队列完成
"); };

 

批量下载

$("#btn-down-files").click(function () {

    if (downer.Config["Folder"] == "") { downer.open_folder(); return; }

    var urls = [

        { fileUrl: "http://res2.ncmem.com/res/images/ie11.png" }

        , { fileUrl: "http://res2.ncmem.com/res/images/up6.1/down.png" }

        , { fileUrl: "http://res2.ncmem.com/res/images/firefox.png" }

        , { fileUrl: "http://res2.ncmem.com/res/images/edge.png" }

        , { fileUrl: "http://res2.ncmem.com/res/images/up6.1/cloud.png" }

        , { fileUrl: "http://res2.ncmem.com/res/images/home/w.png" }

        , { fileUrl: "http://res2.ncmem.com/res/images/img.png" }

    ];

    downer.app.addUrls(urls);

});

 

网上示例:http://blog.ncmem.com/wordpress/2019/08/28/net文件批量下载/

 

.net批量下载图片

标签:fun   按钮   中文   tar   top   head   是什么   get   create   

原文地址:https://www.cnblogs.com/songsu/p/13332012.html


评论


亲,登录后才可以留言!