欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#下載文件(TransmitFile/WriteFile/流方式)實例介紹

 更新時間:2013年02月17日 11:45:13   作者:  
C#下載文件想必很多業(yè)內(nèi)人士都不會陌生吧,C#下載文件方法很多,本文整理了一些,可供大家參考,感興趣的你可以研究下,或許本文所提供的知識點(diǎn)對你有所幫助
復(fù)制代碼 代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//TransmitFile實現(xiàn)下載
protected void Button1_Click(object sender, EventArgs e)
{
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=z.zip");
string filename = Server.MapPath("DownLoad/z.zip");
Response.TransmitFile(filename);
}
//WriteFile實現(xiàn)下載
protected void Button2_Click(object sender, EventArgs e)
{
string fileName ="asd.txt";//客戶端保存的文件名
string filePath=Server.MapPath("DownLoad/aaa.txt");//路徑
FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.WriteFile(fileInfo.FullName);
Response.Flush();
Response.End();
}
//WriteFile分塊下載
protected void Button3_Click(object sender, EventArgs e)
{
string fileName = "aaa.txt";//客戶端保存的文件名
string filePath = Server.MapPath("DownLoad/aaa.txt");//路徑
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
if (fileInfo.Exists == true)
{
const long ChunkSize = 102400;//100K 每次讀取文件,只讀取100K,這樣可以緩解服務(wù)器的壓力
byte[] buffer = new byte[ChunkSize];
Response.Clear();
System.IO.FileStream iStream = System.IO.File.OpenRead(filePath);
long dataLengthToRead = iStream.Length;//獲取下載的文件總大小
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName));
while (dataLengthToRead > 0 && Response.IsClientConnected)
{
int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//讀取的大小
Response.OutputStream.Write(buffer, 0, lengthRead);
Response.Flush();
dataLengthToRead = dataLengthToRead - lengthRead;
}
Response.Close();
}
}
//流方式下載
protected void Button4_Click(object sender, EventArgs e)
{
string fileName = "aaa.txt";//客戶端保存的文件名
string filePath = Server.MapPath("DownLoad/aaa.txt");//路徑
//以字符流的形式下載文件
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
//通知瀏覽器下載文件而不是打開
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
}

相關(guān)文章

  • Asp.net Core 如何設(shè)置黑白名單(路由限制)

    Asp.net Core 如何設(shè)置黑白名單(路由限制)

    本文主要介紹了Asp.net Core 如何設(shè)置黑白名單(路由限制),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • .NET?6?中的?dotnet?monitor詳細(xì)解析

    .NET?6?中的?dotnet?monitor詳細(xì)解析

    dotnet?monitor?是一種工具,它提供了一種統(tǒng)一的方法來收集這些診斷信息,而不管您是在桌面計算機(jī)還是在?kubernetes?集群中運(yùn)行,dotnet?monitor?已經(jīng)為?Azure?App?Service(Linux)提供?.NET?應(yīng)用程序的診斷工具提供支持,我們希望它在更多環(huán)境中使用
    2021-12-12
  • ASP.NET?Core中Cookie驗證身份用法詳解

    ASP.NET?Core中Cookie驗證身份用法詳解

    本文詳細(xì)講解了ASP.NET?Core中Cookie驗證身份的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • ASP.NET數(shù)據(jù)綁定GridView控件使用技巧

    ASP.NET數(shù)據(jù)綁定GridView控件使用技巧

    這篇文章主要為大家詳細(xì)介紹了ASP.NET數(shù)據(jù)綁定GridView控件使用技巧,感興趣的小伙伴們可以參考一下
    2016-03-03
  • .NET+JS對用戶輸入內(nèi)容進(jìn)行字?jǐn)?shù)提示功能的實例代碼

    .NET+JS對用戶輸入內(nèi)容進(jìn)行字?jǐn)?shù)提示功能的實例代碼

    .NET+JS對用戶輸入內(nèi)容進(jìn)行字?jǐn)?shù)提示功能的實例代碼,需要的朋友可以參考一下
    2013-06-06
  • Entity Framework Core生成列并跟蹤列記錄

    Entity Framework Core生成列并跟蹤列記錄

    這篇文章介紹了Entity Framework Core生成列并跟蹤列記錄的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • ASP.NET 防止用戶跳過登陸界面

    ASP.NET 防止用戶跳過登陸界面

    在登陸頁面的檢查登陸成功代碼后添加如下代碼
    2009-03-03
  • ADO.NET 讀取EXCEL的實現(xiàn)代碼((c#))

    ADO.NET 讀取EXCEL的實現(xiàn)代碼((c#))

    經(jīng)常需要在數(shù)據(jù)庫與Execl之間互導(dǎo)數(shù)據(jù)。net時代,ADO.NET可以使用使用Microsoft.Jet.OleDb訪問訪問Excel,網(wǎng)上已經(jīng)有很多類似的資源,最典型也是最簡單的可能如下:(asp.net環(huán)境)
    2012-12-12
  • asp.net EXECUTENONQUERY()返回值介紹

    asp.net EXECUTENONQUERY()返回值介紹

    前些日子作一些數(shù)據(jù)項目的時候 在ADO.NET 中處理 ExecuteNonQuery()方法時,總是通過判斷其返回值是否大于0來判斷操作時候成功 。但是實際上并不是這樣的,下面詳細(xì)介紹一下,有需要的朋友可以參考
    2013-08-08
  • asp.net多圖片上傳實現(xiàn)程序代碼

    asp.net多圖片上傳實現(xiàn)程序代碼

    下面是一個完整的asp.net同時支持多圖片上傳一個實現(xiàn),有需要的朋友可參考一下,本文章限制同時可上傳8張圖片,當(dāng)然大可自己可修改更多或更少
    2012-09-09

最新評論