下載,直接通過url讀取文件,然后Response.OutputStream.Write()數據
安溪網站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司成立于2013年到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯(lián)公司。
下面提供個下載的靜態(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é)數:初始值為文件的總大小????????????????
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ā)送數據的緩沖區(qū)????????????????
int?ByteToRead;?//每次實際讀取的字節(jié)數???????????????
while?(Length??0)
{????
//剩余字節(jié)數不為零,繼續(xù)傳送????????????????????
if?(HttpContext.Current.Response.IsClientConnected)
{????
//客戶端瀏覽器還打開著,繼續(xù)傳送????????????????????????
ByteToRead?=?Reader.Read(Buffer,?0,?10000);???????????????????//往緩沖區(qū)讀入數據????????????????????????
HttpContext.Current.Response.OutputStream.Write(Buffer,?0,?ByteToRead);????
//把緩沖區(qū)的數據寫入客戶端瀏覽器????????????????????????
HttpContext.Current.Response.Flush();?//立即寫入客戶端????????????????????????
Length?-=?ByteToRead;//剩余字節(jié)數減少????????????????????????????}
else
{?????????????????????????
//客戶端瀏覽器已經斷開,阻止繼續(xù)循環(huán)????????????????????????
Length?=?-1;
}
}????????????????//關閉該文件???????????????
Reader.Close();
}
QQ:121一九五五121
在VB 學習中,絕對路徑就是指帶有盤符的固定的路徑,比如“c:\windows\systems\a.exe” 而相對路徑則可用APP.PATH連接文件名來表示,比如:App.Path "\a.exe"
以vb學習中加載圖片為例,這樣就容易弄明白了。假設我們要在vb中加載一幅圖片,假設我們把這個加載圖片的程序保存在如下位置:"E:\aa-vbnew\加載圖片講解"而我們的圖片在"D:\My Files\圖畫\tong.jpg"
那么情況如下:1,在代碼中直接以絕對路徑表示加載到form1中,如圖所示:
顯示結果如下:
2,換一種方式,以相對路徑直接加載也可以。程序如圖:
結果如上圖。
下面分析如下:
第一種方式,我們使用的是圖片的完整路徑,就稱之為絕對路徑,也就是說不管我們的這個VB程序放到硬盤的任何位置,都完全可以顯示出來這幅圖片,因為圖片的路徑是絕對的,只要不改變圖片的路徑,那么就是絕對不變的。
第二種方式,我們使用的是圖片的相對路徑,相對于誰呢?是相對于我們的VB這個應用程序和這幅圖片自身位置的。一旦我們的程序位置發(fā)生變化或者圖片的位置發(fā)生改變,那么這個程序都不可以執(zhí)行,不會顯示這幅圖片。所以說這就是相對路徑,是以一個參考對象而存在的。
給你思路,搜索VB.NET文件夾遍歷,把找到的代碼改一下,假定有個初始值int max=0,如果找到長度為yyyyMMddHHmm即12的文件夾,則把yyyyMMddHHmm轉為int與max比較誰大,大的值記錄在max里,這樣等循環(huán)完成你就知道最新的文件夾是哪個了。
當然不能~! Me.OpenFileDialog1. FileNames這個是多選文件時,一個文件數組, 不是單個文件,單個文件用Me. OpenFileDialog1.FileName 而Str(Me.OpenFileDialog1. FileNames) 又是什么意思呢~?把數組轉化成字符串~?~~?~? strFileDirectary = Me.OpenFileDialog1.FileName 這樣strFileDirectary 得到的是完整的文件路徑,不是文件夾 我搞不懂你到底要獲得文件路徑還是文件所在的文件夾~~?~?
希望采納
參考這個答案getting-downloads-folder
你可以使用nuget安裝Syroot.Windows.IO.KnownFolders得到下載路徑
Server.MapPath("~") "\" "Web.config"Server.MapPath("~") 是取當前目錄上一級的路徑Server.MapPath(".") 是取當前目錄的路徑
網站標題:vb.net獲得文件路徑 vbs獲取文件路徑
文章地址:http://jinyejixie.com/article0/dosshio.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、外貿建站、品牌網站建設、用戶體驗、網站排名、ChatGPT
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)