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

首頁 > 編程 > .NET > 正文

擁有網頁版小U盤 ASP.NET實現文件上傳與下載功能

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

今天看到了一篇不錯的文章,就拿來一起分享一下吧。
實現的是文件的上傳與下載功能。

關于文件上傳:
談及文件上傳到網站上,首先我們想到的就是通過什么上傳呢?在ASP.NET中,只需要用FileUpload控件即可完成,但是默認上傳4M大小的數據,當然了你可以在web.config文件中進行修改,方式如下:

<system.web>  <httpRuntime executionTimeout="240"    maxRequestLength="20480"/></system.web>

但是這種方式雖然可以自定義文件的大小,但并不是無極限的修改的

下一步,現在“工具”有了,要怎么上傳呢?按照直覺是不是應該先選中我想要上傳的文件呢?這就對了,因為從FileUpload控件返回后我們便已經得到了在客戶端選中的文件的信息了,接下來就是將這個文件進行修改(具體的操作是:去掉所得路徑下的盤符的信息,換成服務器上的相關路徑下,不過這里并沒有更改原本文件的名稱)。然后調用相關的上傳方法就好了。

先看一下界面文件吧

<form id="form1" runat="server">    <asp:FileUpload ID="FileUpload1" runat="server" />    <br />    <br />    <br />    <br />    <br />    <br />    <asp:ImageButton ID="ImageButton_Up" runat="server" OnClick="ImageButton_Up_Click" style="text-decoration: underline" ToolTip="Up" Width="54px" />           <asp:ImageButton ID="ImageButton_Down" runat="server" OnClick="ImageButton_Down_Click" ToolTip="Download" Width="51px" />    <br />    <br />         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>   </form>

然后是具體的邏輯

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page{  protected void Page_Load(object sender, EventArgs e)  {  }  //a method for currying file updown  private void UpFile()  {    String strFileName;    //get the path of the file    String FilePath = Server.MapPath("./") + "File";    //judge weather has file to upload    if (FileUpload1.PostedFile.FileName != null)    {      strFileName = FileUpload1.PostedFile.FileName;      //save all the message of the file      strFileName = strFileName.Substring(strFileName.LastIndexOf("//") + 1);      try      {        FileUpload1.SaveAs(FilePath + "//" + this.FileUpload1.FileName);        //save the file and obey the rules        Label1.Text = "Upload success!";      }      catch (Exception e)      {        Label1.Text = "Upload Failed!"+e.Message.ToString();      }    }  }  protected void ImageButton_Up_Click(object sender, ImageClickEventArgs e)  {    UpFile();  }  protected void ImageButton_Down_Click(object sender, ImageClickEventArgs e)  {    Response.Redirect("DownFile.aspx");  }}

說完了上傳,下面談一談文件的下載。這里主要是借助于Directory對象的GetFiles()方法,其可以獲得指定路徑下的所有的文件的名稱。這樣我們就可以用之來填充一個listBox,來供我們選擇到底要下載那一個文件。
也許這時你會有一點疑惑了,我現在知道了有哪些文件可以下載,那下一步我要怎么來實現呢?
其實這里是利用了Session的存儲機制,那就是將我們在listbox 中選擇的item的內容記錄到session的特定的key中,這樣的話,我們就可以不用關心這些信息在頁面間是怎么傳輸的了。只需要在想要進行下載的地方直接獲取就可以了。
最為核心的是下載的過程:

if (filepathinfo.Exists)      {        //save the file to local        Response.Clear();        Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(filepathinfo.Name));        Response.AddHeader("Content-length", filepathinfo.Length.ToString());        Response.ContentType = "application/octet-stream";        Response.Filter.Close();        Response.WriteFile(filepathinfo.FullName);        Response.End();      }

下面看一下,下載界面的布局文件吧

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DownFile.aspx.cs" Inherits="DownFile" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  <title></title></head><body>  <form id="form1" runat="server">    <asp:ImageButton ID="ImageButton_Up" runat="server" Height="56px" OnClick="ImageButton_Up_Click" ToolTip="Upload" Width="90px" />               <asp:ImageButton ID="ImageButton_Down" runat="server" Height="52px" OnClick="ImageButton_Down_Click" style="margin-top: 0px" ToolTip="Download" Width="107px" />         <div>    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>    <br />    <asp:ListBox ID="ListBox1" runat="server" Height="169px" OnSelectedIndexChanged="ListBox1_SelectedIndexChanged" Width="371px"></asp:ListBox>  </div>  </form></body></html>

 然后是具體的邏輯代碼實現

 

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.IO;public partial class DownFile : System.Web.UI.Page{  protected void Page_Load(object sender, EventArgs e)  {    if (!Page.IsPostBack)//the first time to load    {      //get all the file in File folder      String[] AllTxt = Directory.GetFiles(Server.MapPath("File"));      foreach (String name in AllTxt)      {        ListBox1.Items.Add(Path.GetFileName(name));      }    }  }  protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)  {    //make use of sssion to save the selected file in the listbox with the key of "select"    Session["select"] = ListBox1.SelectedValue.ToString();  }  protected void ImageButton_Down_Click(object sender, ImageClickEventArgs e)  {    //judge weather user choose at least one file    if (ListBox1.SelectedValue != "")    {      //get the path of the choosed file      String FilePath = Server.MapPath("File/") + Session["select"].ToString();      //initial the object of Class FileInfo and make it as the package path      FileInfo filepathinfo = new FileInfo(FilePath);      //judge weather the file exists      if (filepathinfo.Exists)      {        //save the file to local        Response.Clear();        Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(filepathinfo.Name));        Response.AddHeader("Content-length", filepathinfo.Length.ToString());        Response.ContentType = "application/octet-stream";        Response.Filter.Close();        Response.WriteFile(filepathinfo.FullName);        Response.End();      }      else      {        Page.RegisterStartupScript("sb", "<script>alert('Please choose one file,sir!')</script>");      }    }  }  protected void ImageButton_Up_Click(object sender, ImageClickEventArgs e)  {    Response.Redirect("Default.aspx");  }}

注意:
最終的上傳的文件將會在根目錄下的File文件夾下看到,下載的時候也是從這個文件夾下進行下載的。

總結:
經過這個小項目的實踐,我看到了session給編程帶來的便利,也體會到了FileUpload控件的威力;然而這并不是全部,這里僅僅是冰山一角而已,希望大家繼續學習,一起進步一起提高!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品一区二区三区不| 国产精品亚洲第一区| 久久亚洲精品中文字幕冲田杏梨| 日韩一区视频在线| 91精品国产777在线观看| 国产精品亚发布| 91久久国产婷婷一区二区| 欧美国产日韩视频| 日本高清不卡的在线| 亚洲免费影视第一页| 久久久999精品| 中文字幕免费精品一区| 欧美黑人性猛交| 日本aⅴ大伊香蕉精品视频| 91啪国产在线| 欧美日韩成人黄色| 国产精品久久久久免费a∨大胸| 欧美日韩亚洲视频| 超碰97人人做人人爱少妇| 国产ts一区二区| 欧美日韩国产丝袜另类| 欧美极品少妇xxxxⅹ裸体艺术| 久久久久一本一区二区青青蜜月| 精品少妇一区二区30p| 日本精品一区二区三区在线| 国产视频亚洲精品| 国产精品h在线观看| 国产精品入口福利| 国产亚洲欧美视频| 18一19gay欧美视频网站| 成人黄色免费在线观看| 欧美日韩免费区域视频在线观看| 亚洲香蕉伊综合在人在线视看| 日韩av电影国产| 日本久久亚洲电影| 成人激情免费在线| 亚洲国产精品久久91精品| xvideos亚洲人网站| 国产精品成人v| 日本精品久久中文字幕佐佐木| 国产日本欧美视频| 亚洲电影免费观看高清完整版在线| 久久夜精品香蕉| 亚洲欧美日韩精品久久奇米色影视| 九九精品视频在线| 欧美日韩国产中字| 成人黄色av播放免费| 国产91精品青草社区| 欧美日韩在线视频一区二区| 伊人久久综合97精品| 91精品国产99久久久久久| 国产一区二区三区中文| 高清在线视频日韩欧美| 欧美猛男性生活免费| 欧美精品久久久久a| www.欧美精品一二三区| 欧美电影免费观看高清完整| 日韩亚洲成人av在线| 成人免费看吃奶视频网站| 1769国内精品视频在线播放| 久久久久久久久久久久久久久久久久av| 欧美怡春院一区二区三区| 国产一区二区三区丝袜| 亚洲成人av资源网| 国内精品在线一区| 久久香蕉频线观| 国产91精品最新在线播放| 久久久久五月天| 亚洲黄页视频免费观看| 国产精品亚洲网站| 日韩国产高清污视频在线观看| 91av免费观看91av精品在线| 国产精品久久久久久久久免费看| 92裸体在线视频网站| 久久影院中文字幕| 国产精品444| 欧美性jizz18性欧美| 亚洲国产精品悠悠久久琪琪| 97久久久免费福利网址| 亚洲国产一区二区三区在线观看| 国产精品视频不卡| 亚洲黄色www网站| 日韩成人av网| 国产精品aaaa| 亚洲男人天堂九九视频| 亚洲第一中文字幕| 久久久久五月天| 亚洲网址你懂得| 韩国一区二区电影| 欧美激情一区二区三级高清视频| 国产欧美精品一区二区| 久久777国产线看观看精品| 最近中文字幕mv在线一区二区三区四区| 国产精品香蕉av| 成人av.网址在线网站| 亚洲欧美日韩一区二区三区在线| 97在线免费观看| 国产在线观看不卡| 日韩av综合中文字幕| 欧美一级片免费在线| 欧美xxxx14xxxxx性爽| 性色av香蕉一区二区| 91免费电影网站| 久久综合伊人77777| 亚洲欧洲黄色网| 国产成人aa精品一区在线播放| 国产精品视频免费观看www| 成人在线视频网| 国产精品福利网| 欧美人与性动交| 国产精品wwwwww| 国产999在线观看| 久久精品视频免费播放| 久久99国产精品久久久久久久久| 日韩欧美中文字幕在线播放| 深夜福利日韩在线看| 国产91精品黑色丝袜高跟鞋| 亚洲激情视频网站| 国产一区欧美二区三区| 亚洲欧美在线免费观看| 亚洲精品二三区| 69视频在线播放| 日韩成人性视频| 日韩欧美国产高清91| 久久国产精品首页| 这里只有视频精品| 日韩中文字幕网址| 亚洲第一精品久久忘忧草社区| 日韩精品一区二区视频| 国产亚洲一区二区在线| 亚洲无限乱码一二三四麻| 亚洲电影免费观看高清完整版| 亚洲色图35p| 国产美女91呻吟求| 国产精品va在线| 久久视频在线播放| 国产国产精品人在线视| 国产精品久久久久99| 国产精品老牛影院在线观看| 欧美激情在线狂野欧美精品| 欧美日韩国产999| 色综合影院在线| 97成人精品视频在线观看| 国产美女被下药99| 日韩av影视在线| 不卡av电影在线观看| 欧美怡红院视频一区二区三区| 精品色蜜蜜精品视频在线观看| 欧美日韩日本国产| 高跟丝袜一区二区三区| 久久精品2019中文字幕| 91豆花精品一区| 久久成人18免费网站| 欧洲s码亚洲m码精品一区| 亚洲性生活视频在线观看| 国产精品丝袜久久久久久高清| 日韩精品在线电影| 福利二区91精品bt7086| 亚洲毛片在线观看.| 欧美激情一区二区三级高清视频| 成人在线视频网| 4444欧美成人kkkk| 亚洲精品资源美女情侣酒店| 亚洲r级在线观看|