<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    計(jì)算機(jī)學(xué)習(xí)積累

    ----轉(zhuǎn)載有理,轉(zhuǎn)載是想研究,想研究才會(huì)看,看了才會(huì)有感想,轉(zhuǎn)載后我有時(shí)會(huì)寫一些自己的感受
    數(shù)據(jù)加載中……

    在ASP.NET中下載Text文件,而不是在瀏覽器中打開它(轉(zhuǎn))

    介紹

    讓用戶從我們的網(wǎng)站上下載各種類型的文件是一個(gè)比較常用的功能,這篇文章就是告訴您如何創(chuàng)建一個(gè).txt文件并讓用戶下載。

    使用代碼

    雖然在示例里,我先創(chuàng)建了一個(gè)text文件,但是你不一定也要這么做,因?yàn)檫@個(gè)文件可能在你的網(wǎng)站里已經(jīng)存在了。如果是這樣的話,你只需要使用FileStream去讀取它就可以了。

    首先,我們將這個(gè)text文件讀取到一個(gè)byte數(shù)組中,然后使用Response對(duì)象將文件寫到客戶端就可以了。

    Response.AddHeader("Content-disposition", "attachment; filename=" + sGenName);
    Response.ContentType = "application/octet-stream";
    Response.BinaryWrite(btFile);
    Response.End();


    這段代碼是完成這個(gè)功能的主要代碼。第一句在輸出中添加了一個(gè)Header,告訴瀏覽器我們發(fā)送給它的是一個(gè)附件類型的文件。然后我們?cè)O(shè)置輸出的ContentType是"application/octet-stream",即告訴瀏覽器要下載這個(gè)文件,而不是在瀏覽器中顯示它。

    下面是一個(gè)MIME類型的列表。
    ".asf" = "video/x-ms-asf"
    ".avi" = "video/avi"
    ".doc" = "application/msword"
    ".zip" = "application/zip"
    ".xls" = "application/vnd.ms-excel"
    ".gif" = "image/gif"
    ".jpg"= "image/jpeg"
    ".wav" = "audio/wav"
    ".mp3" = "audio/mpeg3"
    ".mpg" "mpeg" = "video/mpeg"
    ".rtf" = "application/rtf"
    ".htm", "html" = "text/html"
    ".asp" = "text/asp"

    '所有其它的文件
    = "application/octet-stream"

    下面是一個(gè)完整的如何下載文本文件的示例代碼
    C#
    protectedvoid Button1_Click(object sender, EventArgs e)
    {
    string sFileName = System.IO.Path.GetRandomFileName();
    string sGenName = "Friendly.txt";
    //YOu could omit these lines here as you may not want to save the textfile to the server
    //I have just left them here to demonstrate that you could create the text file
    using (System.IO.StreamWriter SW = new System.IO.StreamWriter(Server.MapPath("TextFiles/" + sFileName + ".txt")))
    {
    SW.WriteLine(txtText.Text);
    SW.Close();
    }

    System.IO.FileStream fs = null;
    fs = System.IO.File.Open(Server.MapPath("TextFiles/" + sFileName + ".txt"), System.IO.FileMode.Open);
    byte[] btFile = newbyte[fs.Length];
    fs.Read(btFile, 0, Convert.ToInt32(fs.Length));
    fs.Close();
    Response.AddHeader("Content-disposition", "attachment; filename=" + sGenName);
    Response.ContentType = "application/octet-stream";
    Response.BinaryWrite(btFile);
    Response.End();
    }

    VB.NET
    Dim strFileName AsString = System.IO.Path.GetRandomFileName()
    Dim strFriendlyName AsString = "Friendly.txt"

    Using sw AsNew System.IO.StreamWriter(Server.MapPath("TextFiles/" + strFileName + ".txt"))
    sw.WriteLine(txtText.Text)
    sw.Close()
    EndUsing

    Dim fs As System.IO.FileStream = Nothing


    fs = System.IO.File.Open(Server.MapPath("TextFiles/" + strFileName + ".txt"), System.IO.FileMode.Open)
    Dim btFile(fs.Length) AsByte
    fs.Read(btFile, 0, fs.Length)
    fs.Close()
    With Response
    .AddHeader("Content-disposition", "attachment;filename=" & strFriendlyName)
    .ContentType = "application/octet-stream"
    .BinaryWrite(btFile)
    .End()
    EndWith
    小結(jié)
    使用這個(gè)方法,你可以實(shí)現(xiàn)在Windows系統(tǒng)下下載所有的文件類型。但是在Macintosh系統(tǒng)下會(huì)有些問題。

    posted on 2008-02-18 14:32 freebird 閱讀(699) 評(píng)論(0)  編輯  收藏 所屬分類: dotnet

    主站蜘蛛池模板: 无码专区—VA亚洲V天堂| 亚洲高清成人一区二区三区| 亚洲色欲久久久综合网| 国产精品亚洲色婷婷99久久精品| 真实乱视频国产免费观看| 天天爽亚洲中文字幕| 毛片A级毛片免费播放| 国产亚洲福利在线视频| 日本v片免费一区二区三区| 亚洲国产AV一区二区三区四区 | 亚洲精品视频在线观看免费| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 亚洲日韩精品A∨片无码加勒比| 成人影片麻豆国产影片免费观看| 亚洲天堂2017无码中文| 免费高清在线影片一区| 污网站免费在线观看| 成年大片免费视频播放一级| 亚洲精品麻豆av| 你懂的网址免费国产| 亚洲AV成人片色在线观看高潮 | 日韩免费视频播播| ww在线观视频免费观看w| 亚洲成A人片777777| 国产成人yy免费视频| 亚洲国产成人AV在线播放| 中文字幕亚洲天堂| 99精品在线免费观看| 亚洲成av人在线观看网站| 国产精品亚洲高清一区二区| 日韩午夜理论免费TV影院| 亚洲乱码在线观看| 亚洲一区二区三区在线播放| 免费视频成人片在线观看| 亚洲av无码片vr一区二区三区| 九月婷婷亚洲综合在线| 99久久免费观看| 国产精品亚洲精品爽爽| 99久久精品国产亚洲| 免费观看国产精品| 久久久久久一品道精品免费看|