asp.net怎樣實現批量下載文件(非打包形式下載)

問題:javascript

我想實現的是一個一個的下載。css

好比我有一個文件列表。經過checkbox選擇。經過單擊下載按鈕下載選中文件。html

百度到都是用打包形式實現批量下載。java

這是我本身寫的代碼,可是點擊下載後只能下載一個文件。單步調試,循環只執行一次。不知道是什麼緣由。jquery

後臺代碼服務器

string Name;多線程

string Path;app

protectedvoid Button2_Click(object sender, EventArgs e)wordpress

{ui

    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;}

    }

}

 

privatevoid 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();

}

具體怎樣實現?是用多線程嗎?求大大們指教。謝謝

 

解決方案:

包含頭

<head>

    <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>

    <title>donw2-多文件演示頁面</title>

    <linktype="text/css"href="js/down.css"rel="Stylesheet"/>

    <scripttype="text/javascript"src="js/jquery-1.4.min.js"></script>

    <scripttype="text/javascript"src="js/down.app.js"charset="utf-8"></script>

    <scripttype="text/javascript"src="js/down.edge.js"charset="utf-8"></script>

    <scripttype="text/javascript"src="js/down.file.js"charset="utf-8"></script>

    <scripttype="text/javascript"src="js/down.folder.js"charset="utf-8"></script>

    <scripttype="text/javascript"src="js/down.js"charset="utf-8"></script>

</head>

 

建立對象

<scripttype="text/javascript"language="javascript">

    var downer = new DownloaderMgr();

    downer.Config["Folder"] = "";//設置默認下載路徑。

    //掛載事件

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

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

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

    downer.event.downComplete = function (obj) {

        $(document.body).append('<div>本地路徑:' + obj.fileSvr.pathLoc + '</div>');

    };

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

    downer.event.queueComplete = function () { $(document.body).append("<div>隊列完成</div>"); };

</script>

 

批量下載

$("#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文件批量下載/

相關文章
相關標籤/搜索