亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET中下載文件的幾種實例代碼

2024-07-10 13:17:11
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


  //TransmitFile實現下載
    protected void Button1_Click(object sender, EventArgs e)
    {
        /*
        微軟為Response對象提供了一個新的方法TransmitFile來解決使用Response.BinaryWrite
        下載超過400mb的文件時導致Aspnet_wp.exe進程回收而無法成功下載的問題。
        代碼如下:
        */
        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實現下載
    protected void Button2_Click(object sender, EventArgs e)
    {
        /*
        using System.IO;

        */
        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,這樣可以緩解服務器的壓力
            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();
    }

//----------------------------------------------------------

public void DownloadFile( System.Web.UI.Page WebForm,String FileNameWhenUserDownload ,String FileBody )
{

  WebForm.Response.ClearHeaders();
  WebForm.Response.Clear();
  WebForm.Response.Expires = 0;
  WebForm.Response.Buffer = true;
  WebForm.Response.AddHeader("Accept-Language", "zh-tw");
  //'文件名稱
  WebForm.Response.AddHeader("content-disposition", "attachment; filename='"+System.Web.HttpUtility.UrlEncode(FileNameWhenUserDownload, System.Text.Encoding.UTF8)+"'");
  WebForm.Response.ContentType = "Application/octet-stream";
  //'文件內容
  WebForm.Response.Write(FileBody);//-----------
    WebForm.Response.End();
}


//上面這段代碼是下載一個動態產生的文本文件,若這個文件已經存在于服務器端的實體路徑,則可以通過下面的函數:

public void DownloadFileByFilePath( System.Web.UI.Page WebForm,String FileNameWhenUserDownload ,String FilePath )
{
  WebForm.Response.ClearHeaders();
  WebForm.Response.Clear();
  WebForm.Response.Expires = 0;
    WebForm.Response.Buffer = true;
  WebForm.Response.AddHeader("Accept-Language", "zh-tw");
  //文件名稱
  WebForm.Response.AddHeader("content-disposition", "attachment; filename='" + System.Web.HttpUtility.UrlEncode(FileNameWhenUserDownload, System.Text.Encoding.UTF8) +"'" );
  WebForm.Response.ContentType = "Application/octet-stream";
  //文件內容
  WebForm.Response.Write(System.IO.File.ReadAllBytes(FilePath));//---------
  WebForm.Response.End();
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--保存文檔
string docName, docExtended;
Stream doc = fuDoc.FileContent;
int docLength = fuDoc.PostedFile.ContentLength;
byte[] docData = new byte[docLength];
doc.Read(docData, 0, docLength);
docExtended = fuDoc.FileName.Substring(fuDoc.FileName.IndexOf("."));
if (string.IsNullOrEmpty(tbDoc.Text))
docName = fuDoc.FileName;
else
docName = tbDoc.Text + docExtended;
SafetyDocInfo data = new SafetyDocInfo(ddlSort.Text, docName, fuDoc.PostedFile.ContentType, docData);
SafetyDoc safety = new SafetyDoc();
safety.Insert(data);
tbDoc.Text = string.Empty;
--打開文檔
public void ViewSafetyDoc(string pDocSort, string pDocName)
{
OracleParameter[] parms = GetSafetyDocParm(SQL_View_SafetyDoc);
parms[0].Value = pDocSort;
parms[1].Value = pDocName;
using (OracleDataReader rdr = OracleHelper.ExecuteReader(OracleHelper.ConnectionString, CommandType.Text, SQL_View_SafetyDoc, parms))
{
while (rdr.Read())
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType = rdr.GetString(1);
HttpContext.Current.Response.BinaryWrite((byte[])rdr["Doc"]);
string FileName = rdr.GetString(0);
FileName = System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8);
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
}
}
}     

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情网站在线观看| 日韩影视在线观看| 理论片在线不卡免费观看| 成人在线视频福利| 国产精品日韩在线播放| 成人黄色影片在线| 久久这里只有精品视频首页| 最近2019中文字幕mv免费看| 欧美中文在线观看| 欧美激情一级欧美精品| 日产日韩在线亚洲欧美| 亚洲欧美综合区自拍另类| 亚洲精品免费一区二区三区| 91超碰中文字幕久久精品| 国产亚洲欧洲在线| 青青a在线精品免费观看| 国产精品88a∨| 国产91色在线播放| 国产精品日韩欧美综合| 伊人久久久久久久久久久久久| 国产日韩视频在线观看| 欧美放荡办公室videos4k| 国产区精品视频| 精品久久久久久亚洲精品| 川上优av一区二区线观看| 91久久精品国产91久久性色| 欧美黄网免费在线观看| 国产一区二区三区在线播放免费观看| 欧美在线观看一区二区三区| 欧美激情区在线播放| 青青久久aⅴ北条麻妃| 欧美在线视频网| 国产在线观看一区二区三区| 国产网站欧美日韩免费精品在线观看| 成人一区二区电影| 亚洲老板91色精品久久| 成人午夜一级二级三级| 亚洲伊人成综合成人网| 国产免费一区二区三区在线观看| 午夜精品久久久久久99热软件| 久久综合久久美利坚合众国| 日韩国产在线播放| 亚洲精品欧美一区二区三区| 亚洲另类xxxx| 日韩av免费在线观看| 亚洲成人动漫在线播放| 亚洲精品美女视频| 国产中文字幕91| 国产91精品视频在线观看| 69av在线播放| 国产日韩欧美91| 国产亚洲免费的视频看| 亚洲一区二区三区视频播放| 欧美高清在线观看| 91国语精品自产拍在线观看性色| 亚洲高清久久网| 欧美亚洲激情视频| 亚洲精品福利在线观看| 国产精品专区一| 成人国内精品久久久久一区| 精品国偷自产在线视频| 91精品中文在线| 久久久国产精品免费| 久久五月天综合| 欧美日韩不卡合集视频| 97在线看福利| 日韩经典第一页| 日韩av网站大全| 午夜精品三级视频福利| 国产a级全部精品| 日韩精品亚洲视频| 中文字幕亚洲一区二区三区五十路| 久久亚洲精品一区| 亚洲一区999| 亚洲自拍高清视频网站| 91精品美女在线| 91免费视频网站| 最新国产精品拍自在线播放| 久久久久99精品久久久久| 色哟哟亚洲精品一区二区| 亚洲香蕉伊综合在人在线视看| 国产视频在线观看一区二区| 亚洲精品免费一区二区三区| 欧美专区在线观看| 精品久久久久久| 日韩高清有码在线| 欧美二区在线播放| 国产综合在线视频| 久久久久国产精品一区| 日韩av手机在线| 2021久久精品国产99国产精品| 国产精品久久91| 国产亚洲aⅴaaaaaa毛片| 久久亚洲精品成人| 在线性视频日韩欧美| 亚洲社区在线观看| 欧美黄色免费网站| 国产精品三级在线| 久久综合电影一区| 国产欧美精品xxxx另类| 久久精品2019中文字幕| 国产视频福利一区| 亚洲天堂成人在线视频| 92看片淫黄大片欧美看国产片| 亚洲男人av在线| 国产成人精品在线| 红桃视频成人在线观看| 欧美在线观看网站| 97人人爽人人喊人人模波多| 亚洲欧美国内爽妇网| 亚洲丁香婷深爱综合| 7777kkkk成人观看| 色无极亚洲影院| 92国产精品久久久久首页| 日本精品一区二区三区在线播放视频| 亚洲美女精品久久| 久久九九热免费视频| 亚洲精选在线观看| 中文字幕av一区二区三区谷原希美| 国产美女搞久久| 在线不卡国产精品| 欧美成人免费一级人片100| 精品magnet| 国产日韩欧美影视| 久久久久久com| 4p变态网欧美系列| 日韩欧美极品在线观看| 国产亚洲精品美女| 久久成人一区二区| 久久久久久国产| 另类天堂视频在线观看| 亚洲人成网7777777国产| 午夜精品国产精品大乳美女| 久久精品国产清自在天天线| 亚洲人成电影在线观看天堂色| 国产精品久久久久久亚洲影视| 国产成人久久久精品一区| 中文字幕久热精品视频在线| 欧美一区深夜视频| 欧美激情视频一区二区三区不卡| 国产一区二区三区在线播放免费观看| 中文字幕日韩精品在线观看| 欧洲美女7788成人免费视频| 免费av在线一区| 国产精品久久久精品| 在线精品高清中文字幕| 91在线观看欧美日韩| 国产一区玩具在线观看| 国产精品久久久久久亚洲影视| 成人高h视频在线| 97视频在线观看网址| 成人黄在线观看| 亚洲欧美另类中文字幕| 成人国内精品久久久久一区| 久久露脸国产精品| 国产精品免费一区二区三区都可以| 日韩av一区在线观看| 青青在线视频一区二区三区| 国产日韩中文在线| 欧美亚洲国产成人精品| 欧美在线性视频| 欧美日韩美女视频| 尤物精品国产第一福利三区| 日韩有码在线播放|