在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C#/ ASP.NET文件上傳
ASP.NET調(diào)試
ASP.NET Web Services
ASP.NET緩存
ASP.NET多線程
ASP.NET面板控件
ASP.NET數(shù)據(jù)綁定
ASP.NET數(shù)據(jù)源
ASP.NET個(gè)性化
ASP.Net教程
ASP.NET Ajax控件
ASP.NET生命周期
ASP.NET HTML服務(wù)器
ASP.NET簡(jiǎn)介
ASP.NET驗(yàn)證器
ASP.NET多視圖
ASP.NET網(wǎng)站配置
ASP.NET錯(cuò)誤管理
ASP.NET自定義控件
ASP.NET LINQ
ASP.NET AdRotator控件
ASP.NET客戶端
ASP.NET文件上傳
ASP.NET服務(wù)器控件
ASP.NET開(kāi)發(fā)環(huán)境配置
ASP.NET管理狀態(tài)
ASP.NET服務(wù)端
ASP.NET數(shù)據(jù)庫(kù)訪問(wèn)(Access)
ASP.NET基本控件
ASP.NET安全
ASP.NET指令
ASP.NET事件處理
ASP.NET第一個(gè)程序
ASP.NET日歷控件

ASP.NET文件上傳

ASP.NET有兩個(gè)控件,允許用戶將文件上傳到Web服務(wù)器。當(dāng)服務(wù)器收到用戶提交的文件數(shù)據(jù),應(yīng)用程序就可以保存,檢查或忽略它。 以下控件允許上傳文件:

  • HtmlInputFile - HTML服務(wù)器控件
  • FileUpload - ASP.NET網(wǎng)頁(yè)控件

兩個(gè)控件都允許文件上傳,但是FileUpload控件會(huì)自動(dòng)設(shè)置表單的編碼,而HtmlInputFile則不會(huì)。

在本教程中,我們演示如何使用FileUpload控件。 FileUpload控件允許用戶瀏覽并選擇要上傳的文件,提供瀏覽按鈕和用于輸入文件名的文本框。

當(dāng)用戶通過(guò)輸入名稱或?yàn)g覽在文本框中輸入文件名,就可以調(diào)用FileUpload控件的SaveAs方法來(lái)將文件保存到磁盤(pán)。

FileUpload的基本語(yǔ)法是:

<asp:FileUpload ID= "Uploader" runat = "server" />

FileUpload類從WebControl類派生,并繼承其所有成員。除此之外,FileUpload類具有以下只讀屬性:

編號(hào) 屬性 描述
1 FileBytes 返回要上傳的文件中的字節(jié)數(shù)組。
2 FileContent 返回指向要上傳的文件的流對(duì)象。
3 FileName 返回要上傳的文件的名稱。
4 HasFile 指定控件是否有要上傳的文件。
5 PostedFile 返回對(duì)上傳文件的引用。

要上傳的文件封裝在HttpPostedFile類型的對(duì)象中,可以通過(guò)FileUpload類的PostedFile屬性訪問(wèn)。

HttpPostedFile類具有以下常用屬性:

編號(hào) 屬性 描述
1 ContentLength 以字節(jié)為單位返回上傳文件的大小。
2 ContentType 返回上傳文件的MIME類型。
3 FileName 返回完整的文件名。
4 InputStream 返回指向上傳文件的流對(duì)象。

示例

以下示例演示了FileUpload控件及其屬性。窗體有一個(gè)FileUpload控件以及一個(gè)保存按鈕和一個(gè)用于顯示文件名,文件類型和文件長(zhǎng)度的標(biāo)簽控件。

打開(kāi)Visual Studio ,創(chuàng)建一個(gè)空的網(wǎng)站項(xiàng)目:FileUploading ,如下 -

然后,在項(xiàng)目名稱上點(diǎn)擊右鍵選擇:添加->添加新項(xiàng) ,填寫(xiě)文件名稱為:Default.aspx , 如下圖所示 -

在設(shè)計(jì)視圖中,窗體如下所示:

Default.aspx 文件中的代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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">
        <div>
         <h3> 文件上傳:</h3>
         <br />
         <asp:FileUpload ID="FileUpload1" runat="server" />
         <br />
         <asp:Button ID="btnsave" runat="server" onclick="btnsave_Click"  Text="上傳保存" style="width:85px" />
         <br /><br />
         <asp:Label ID="lblmessage" runat="server" />
      </div>
    </form>
</body>
</html>

保存按鈕后端的代碼(Default.aspx.cs )如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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)
    {

    }

    protected void btnsave_Click(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder("Empty File");
        string fn = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
        string SaveLocation = Server.MapPath("upload") + "\\" + fn;
        lblmessage.Text = SaveLocation;
        if ((FileUpload1.PostedFile != null) && (FileUpload1.PostedFile.ContentLength > 0))
        {
            try
            {
                sb.AppendFormat(" 正在上傳文件: {0}", FileUpload1.FileName);

                //saving the file
                //FileUpload1.SaveAs("F:\\worksp\\asp.net\\FileUploading\\" + FileUpload1.FileName);
                FileUpload1.PostedFile.SaveAs(SaveLocation);

                //Showing the file information
                sb.AppendFormat("<br/> 保存為: {0}", FileUpload1.PostedFile.FileName);
                sb.AppendFormat("<br/> 文件類型: {0}", FileUpload1.PostedFile.ContentType);
                sb.AppendFormat("<br/> 文件長(zhǎng)度: {0}", FileUpload1.PostedFile.ContentLength);
                sb.AppendFormat("<br/> 文件名稱: {0}", FileUpload1.PostedFile.FileName);

            }catch (Exception ex)
            {
                sb.Append("<br/> 錯(cuò)誤 <br/>");
                sb.AppendFormat("Unable to save file <br/> {0}", ex.Message);
            }
        }

        lblmessage.Text = sb.ToString();

    }
}

請(qǐng)注意以下幾點(diǎn):

  • StringBuilder類是從System.IO命名空間派生的,所以需要包含它。
  • trycatch塊用于捕獲錯(cuò)誤,并顯示錯(cuò)誤消息。

執(zhí)行上面項(xiàng)目,得到以下結(jié)果 -

選擇一個(gè)要上傳的文件,然后提交上傳 -