最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#文件下載示例的4種方法分享

 更新時間:2014年03月07日 14:29:56   作者:  
這篇文章主要介紹了c#文件下載示例的4種方法,有TransmitFile實現(xiàn)下載,WriteFile實現(xiàn)下載,WriteFile分塊下載,流方式下載,需要的朋友可以參考下

復(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)文章

  • C#中的DataTable查詢實戰(zhàn)教程

    C#中的DataTable查詢實戰(zhàn)教程

    這篇文章主要介紹了C#中的DataTable查詢實戰(zhàn)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C#實現(xiàn)讀取USB轉(zhuǎn)串口參數(shù)并顯示在ComboBox

    C#實現(xiàn)讀取USB轉(zhuǎn)串口參數(shù)并顯示在ComboBox

    在很多應(yīng)用程序中,尤其是那些需要與外部硬件通信的程序中,自動檢測和讀取串口參數(shù)是一個非常有用的功能,下面我們就來看看如何在C#中實現(xiàn)這一功能吧
    2024-01-01
  • 基于params,ref,out的參數(shù)問題詳解

    基于params,ref,out的參數(shù)問題詳解

    本篇文章是對params,ref,out的參數(shù)問題進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • macOS系統(tǒng)下Vscode的python配置教程

    macOS系統(tǒng)下Vscode的python配置教程

    這篇文章主要介紹了macOS系統(tǒng)下Vscode的python配置教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • C#將Word轉(zhuǎn)換成PDF方法匯總(基于Office和WPS)

    C#將Word轉(zhuǎn)換成PDF方法匯總(基于Office和WPS)

    這篇文章主要匯總了C#將Word轉(zhuǎn)換成PDF方法,基于Office和WPS的兩種解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • C#使用TimeSpan對象實現(xiàn)獲取時間間隔

    C#使用TimeSpan對象實現(xiàn)獲取時間間隔

    TimeSpan對象代表兩個時間段的間隔或跨度,使用TimeSpan對象可以方便地獲取兩個時間段的間隔,下面我們就來看看C#使用TimeSpan對象實現(xiàn)獲取時間間隔的具體操作吧
    2024-01-01
  • C#使用正則表達式

    C#使用正則表達式

    這篇文章介紹了C#使用正則表達式的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#托管堆對象實例包含內(nèi)容分析

    C#托管堆對象實例包含內(nèi)容分析

    這篇文章主要介紹了C#托管堆對象實例包含內(nèi)容,實例展示了托管對象的結(jié)構(gòu)及運行原理,需要的朋友可以參考下
    2014-09-09
  • C# PropertyInfo類案例詳解

    C# PropertyInfo類案例詳解

    這篇文章主要介紹了C# PropertyInfo類案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C#中兩個byte如何相加

    C#中兩個byte如何相加

    可能有的看到這個題目就會覺得這不簡單嗎?直接用+號相加就行了,可是當你實際操作運行的時候就會發(fā)現(xiàn)有錯誤了,那么是什么錯誤?那該如何讓C#中兩個byte相加呢?通過下面這篇文章來一起學習學習吧。
    2016-11-11

最新評論

南郑县| 沧源| 稷山县| 调兵山市| 秀山| 新兴县| 眉山市| 沙河市| 南溪县| 江华| 郸城县| 景德镇市| 嘉荫县| 固始县| 乌兰浩特市| 化隆| 涞源县| 诏安县| 忻城县| 揭阳市| 酉阳| 临泽县| 鹤庆县| 宜宾县| 大城县| 澜沧| 株洲市| 信阳市| 集安市| 隆子县| 宁陵县| 山东| 老河口市| 林甸县| 凌海市| 台北市| 西贡区| 庆云县| 苗栗县| 科技| 西盟|