下載,直接通過url讀取文件,然后Response.OutputStream.Write()數(shù)據(jù)
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比平頂山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式平頂山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋平頂山地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
下面提供個下載的靜態(tài)方法,是C#的,供參考:
///?summary
///?下載文件
///?/summary
///?param?name="fileName"下載的文件名稱(包括擴展名)/param
///?param?name="filePath"下載文件的絕對路徑/param
public?static?void?DownFile(string?fileName,?string?filePath)
{
//打開要下載的文件,并把該文件存放在FileStream中????????????????
System.IO.FileStream?Reader?=?System.IO.File.OpenRead(filePath);
//文件傳送的剩余字節(jié)數(shù):初始值為文件的總大小????????????????
long?Length?=?Reader.Length;
HttpContext.Current.Response.Buffer?=?false;
HttpContext.Current.Response.AddHeader("Connection",?"Keep-Alive");
HttpContext.Current.Response.ContentType?=?"application/octet-stream";
HttpContext.Current.Response.Charset?=?"utf-8";
HttpContext.Current.Response.AddHeader("Content-Disposition",?"attachment;?filename="?+?System.Web.HttpUtility.UrlEncode(fileName));
HttpContext.Current.Response.AddHeader("Content-Length",?Length.ToString());
byte[]?Buffer?=?new?Byte[10000];//存放欲發(fā)送數(shù)據(jù)的緩沖區(qū)????????????????
int?ByteToRead;?//每次實際讀取的字節(jié)數(shù)???????????????
while?(Length??0)
{????
//剩余字節(jié)數(shù)不為零,繼續(xù)傳送????????????????????
if?(HttpContext.Current.Response.IsClientConnected)
{????
//客戶端瀏覽器還打開著,繼續(xù)傳送????????????????????????
ByteToRead?=?Reader.Read(Buffer,?0,?10000);???????????????????//往緩沖區(qū)讀入數(shù)據(jù)????????????????????????
HttpContext.Current.Response.OutputStream.Write(Buffer,?0,?ByteToRead);????
//把緩沖區(qū)的數(shù)據(jù)寫入客戶端瀏覽器????????????????????????
HttpContext.Current.Response.Flush();?//立即寫入客戶端????????????????????????
Length?-=?ByteToRead;//剩余字節(jié)數(shù)減少????????????????????????????}
else
{?????????????????????????
//客戶端瀏覽器已經(jīng)斷開,阻止繼續(xù)循環(huán)????????????????????????
Length?=?-1;
}
}????????????????//關(guān)閉該文件???????????????
Reader.Close();
}
QQ:121一九五五121
給你一個遍歷所有盤符下的文件夾的例子加一個遍歷文件的就可以了。TreeNode node = new TreeNode("我的電腦"); treeView.Nodes.Add(node); //加入一個我的電腦節(jié)點 string[] drivesName = System.IO.Directory.GetLogicalDrives() //取得驅(qū)動器列表的集合 foreach(string name in drivesName) //用foreach遍歷集合 { TreeNode drivesNode = new TreeNode(name); node.Nodes.Add(drivesNode); //加到我的電腦節(jié)點下 }
下載文件的話你要到這個名稱空間找都這個函數(shù)
System.Net.WebClient.DownloadData(ByVal
String)
As
Byte(
)
--下載資源
DownloadData:
Public
Function
DownloadData(ByVal
address
As
String)
As
Byte(
)
System.Net.WebClient
的成員
摘要:
以
System.Byte
數(shù)組形式通過指定的
URI
下載資源。
參數(shù):
address:
從中下載數(shù)據(jù)的
URI。
返回值:
一個
System.Byte
數(shù)組,其中包含下載的資源。
異常:
System.Net.WebException:
通過組合
System.Net.WebClient.BaseAddress
和
address
所構(gòu)成的
URI
無效。-
或
-
下載數(shù)據(jù)時發(fā)生錯誤。
System.NotSupportedException:
該方法已在多個線程上同時調(diào)用。
System.Net.WebClient.DownloadFile(ByVal
String,
ByVal
String)
--下載文件
DownloadFile:
Public
Sub
DownloadFile(ByVal
address
As
String,
ByVal
fileName
As
String)
System.Net.WebClient
的成員
摘要:
將具有指定
URI
的資源下載到本地文件。
參數(shù):
address:
從中下載數(shù)據(jù)的
URI。
fileName:
要接收數(shù)據(jù)的本地文件的名稱。
異常:
System.Net.WebException:
通過組合
System.Net.WebClient.BaseAddress
和
address
所構(gòu)成的
URI
無效。-
或
-
filename
為
null
或
System.String.Empty。-
或
-文件不存在。-
或
-
下載數(shù)據(jù)時發(fā)生錯誤。
System.NotSupportedException:
該方法已在多個線程上同時調(diào)用。