asp.net中的下載實(shí)現(xiàn)
我現(xiàn)在接觸到的下載有兩種形式:
直接下載服務(wù)器某個(gè)目錄下的文件和下載數(shù)據(jù)庫(kù)中存的二進(jìn)制文件
代碼如下:
//獲取文件對(duì)象
FileInfo file = new FileInfo(Server.MapPath("~/123123213213.txt"));
//附件形式
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("好啊.txt", System.Text.Encoding.UTF8));
Response.WriteFile(file.FullName);
//模擬數(shù)據(jù)庫(kù)取出的二進(jìn)制流形式
Response.Clear();
byte[] b = new byte[file.Length];
FileStream fs = new FileStream(Server.MapPath("~/123123213213.txt"), FileMode.Open);
fs.Read(b, 0, (int)file.Length);//這里強(qiáng)轉(zhuǎn),存時(shí)要限制流大小
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("好啊.txt", System.Text.Encoding.UTF8));
Response.BinaryWrite(b);
有幾點(diǎn)需要說(shuō)明:
1.Content-Disposition是一種擴(kuò)展的html協(xié)議,我的理解是正好可以來(lái)處理下載功能
他的值有兩種:attachment表示以附件形式下載,inline表示就在網(wǎng)頁(yè)上來(lái)顯示
2.filename后面可以自己跟據(jù)需要來(lái)定文件名與文件擴(kuò)展名
3.如果文件名內(nèi)有中文字,一定要編碼,不然會(huì)有亂碼的
一面是一個(gè)比較好的網(wǎng)址,說(shuō)的比我詳細(xì):
http://www.rzrgm.cn/fredlau/archive/2008/10/14/1311018.html
直接下載服務(wù)器某個(gè)目錄下的文件和下載數(shù)據(jù)庫(kù)中存的二進(jìn)制文件
代碼如下:
//獲取文件對(duì)象
FileInfo file = new FileInfo(Server.MapPath("~/123123213213.txt"));
//附件形式
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("好啊.txt", System.Text.Encoding.UTF8));
Response.WriteFile(file.FullName);
//模擬數(shù)據(jù)庫(kù)取出的二進(jìn)制流形式
Response.Clear();
byte[] b = new byte[file.Length];
FileStream fs = new FileStream(Server.MapPath("~/123123213213.txt"), FileMode.Open);
fs.Read(b, 0, (int)file.Length);//這里強(qiáng)轉(zhuǎn),存時(shí)要限制流大小
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("好啊.txt", System.Text.Encoding.UTF8));
Response.BinaryWrite(b);
有幾點(diǎn)需要說(shuō)明:
1.Content-Disposition是一種擴(kuò)展的html協(xié)議,我的理解是正好可以來(lái)處理下載功能
他的值有兩種:attachment表示以附件形式下載,inline表示就在網(wǎng)頁(yè)上來(lái)顯示
2.filename后面可以自己跟據(jù)需要來(lái)定文件名與文件擴(kuò)展名
3.如果文件名內(nèi)有中文字,一定要編碼,不然會(huì)有亂碼的
一面是一個(gè)比較好的網(wǎng)址,說(shuō)的比我詳細(xì):
http://www.rzrgm.cn/fredlau/archive/2008/10/14/1311018.html

浙公網(wǎng)安備 33010602011771號(hào)