問題: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);
});