My.Computer.Network.UploadFile
創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),虛擬空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,西信服務(wù)器托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。
比如上傳到FTP
My.Computer.Network.UploadFile("d:\1.txt", "“, "FTP賬號(hào)", "FTP密碼", True, 100)
新手路過(guò)。
下載,直接通過(guò)url讀取文件,然后Response.OutputStream.Write()數(shù)據(jù)
下面提供個(gè)下載的靜態(tài)方法,是C#的,供參考:
///?summary
///?下載文件
///?/summary
///?param?name="fileName"下載的文件名稱(chēng)(包括擴(kuò)展名)/param
///?param?name="filePath"下載文件的絕對(duì)路徑/param
public?static?void?DownFile(string?fileName,?string?filePath)
{
//打開(kāi)要下載的文件,并把該文件存放在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;?//每次實(shí)際讀取的字節(jié)數(shù)???????????????
while?(Length??0)
{????
//剩余字節(jié)數(shù)不為零,繼續(xù)傳送????????????????????
if?(HttpContext.Current.Response.IsClientConnected)
{????
//客戶(hù)端瀏覽器還打開(kāi)著,繼續(xù)傳送????????????????????????
ByteToRead?=?Reader.Read(Buffer,?0,?10000);???????????????????//往緩沖區(qū)讀入數(shù)據(jù)????????????????????????
HttpContext.Current.Response.OutputStream.Write(Buffer,?0,?ByteToRead);????
//把緩沖區(qū)的數(shù)據(jù)寫(xiě)入客戶(hù)端瀏覽器????????????????????????
HttpContext.Current.Response.Flush();?//立即寫(xiě)入客戶(hù)端????????????????????????
Length?-=?ByteToRead;//剩余字節(jié)數(shù)減少????????????????????????????}
else
{?????????????????????????
//客戶(hù)端瀏覽器已經(jīng)斷開(kāi),阻止繼續(xù)循環(huán)????????????????????????
Length?=?-1;
}
}????????????????//關(guān)閉該文件???????????????
Reader.Close();
}
方法一: 通過(guò)WINSOCK傳 方法二: 程序一生成一文件,然后程序二讀取 方法三: 利用數(shù)據(jù)庫(kù)存取這個(gè)是調(diào)用自制DLL示例,至于用ActiveX EXE,你可以參考一下,關(guān)鍵是留接口給另一程序 VB制作標(biāo)準(zhǔn)DLL文件并調(diào)用該文件的示例 1、建立一個(gè)ActiveX DLL工程,這時(shí)工程中將包括一個(gè)類(lèi)模塊Class1。 2、在A(yíng)ctiveX DLL工程中添加一個(gè)Form。 3、在類(lèi)模塊添加如下函數(shù): Public Function ShowMyForm(s As String) Form1.Caption = s Form1.Show vbModal End Function 4、將工程編譯為DLL。 調(diào)用時(shí): 1、建立一個(gè)標(biāo)準(zhǔn)EXE,在菜單“工程|引用”中選擇前面編譯的DLL。 2、使用如下代碼調(diào)用: Private Sub Form_Click() Dim cls As New Class1 cls.ShowMyForm("Hello") End Sub
接口,你只要引用他給你發(fā)的這個(gè)文件,再實(shí)現(xiàn)他給你的接口就行了。