ASP.NET - 文件上传

ASP.NET - 文件上传

❮ 上一节

下一节 ❯

ASP.NET - 文件上传

ASP.NET 有两个控件允许用户将文件上传到 Web 服务器。 一旦服务器接收到发布的文件数据,应用程序就可以保存它、检查它或忽略它。 以下控件允许文件上传:

HtmlInputFile - HTML 服务器控件

FileUpload - 和 ASP.NET Web 控件

两个控件都允许文件上传,但 FileUpload 控件会自动设置表单的编码,而 HtmlInputFile 则不会这样做。

在本教程中,我们使用 FileUpload 控件。 FileUpload 控件允许用户浏览并选择要上传的文件,提供浏览按钮和用于输入文件名的文本框。

一旦用户通过键入名称或浏览在文本框中输入了文件名,就可以调用 FileUpload 控件的 SaveAs 方法将文件保存到磁盘。

FileUpload 的基本语法是:

FileUpload 类派生自 WebControl 类,并继承了它的所有成员。 除此之外,FileUpload 类还具有以下只读属性:

属性

描述

FileBytes

返回要上传的文件中的字节数组。

FileContent

返回指向待上传文件的流对象。

FileName

返回要上传的文件的名称。

HasFile

指定控件是否有要上传的文件。

PostedFile

返回对上传文件的引用。

发布的文件封装在 HttpPostedFile 类型的对象中,可以通过 FileUpload 类的 PostedFile 属性访问该对象。

HttpPostedFile 类具有以下常用属性:

属性

描述

ContentLength

返回上传文件的大小(以字节为单位)。

ContentType

返回上传文件的MIME类型。

FileName

返回完整的文件名。

InputStream

返回指向上传文件的流对象。

示例

以下示例演示了 FileUpload 控件及其属性。 该表单有一个 FileUpload 控件以及一个保存按钮和一个用于显示文件名、文件类型和文件长度的标签控件。

在设计视图中,表单如下所示:

文件代码如下所示:

File Upload:






保存按钮后的代码如下所示:

protected void btnsave_Click(object sender, EventArgs e)

{

StringBuilder sb = new StringBuilder();

if (FileUpload1.HasFile)

{

try

{

sb.AppendFormat(" Uploading file: {0}", FileUpload1.FileName);

//保存文件

FileUpload1.SaveAs("" + FileUpload1.FileName);

//显示文件信息

sb.AppendFormat("
Save As: {0}", FileUpload1.PostedFile.FileName);

sb.AppendFormat("
File type: {0}", FileUpload1.PostedFile.ContentType);

sb.AppendFormat("
File length: {0}", FileUpload1.PostedFile.ContentLength);

sb.AppendFormat("
File name: {0}", FileUpload1.PostedFile.FileName);

}catch (Exception ex)

{

sb.Append("
Error
");

sb.AppendFormat("Unable to save file
{0}", ex.Message);

}

}

else

{

lblmessage.Text = sb.ToString();

}

}

注意以下几点:

StringBuilder类派生自System.IO命名空间,因此需要包含它。

try 和 catch 块用于捕获错误,并显示错误消息。

❮ 上一节

下一节 ❯

相关推荐

天涯明月刀论剑如何快速到达快剑 天刀怎么论剑
世界杯365体育

天涯明月刀论剑如何快速到达快剑 天刀怎么论剑

📅 06-29 👁️ 8445
将年转换为天
365永久激活怎么做到的

将年转换为天

📅 07-02 👁️ 3209
吃了蚊子怎么办
世界杯365体育

吃了蚊子怎么办

📅 06-27 👁️ 5382
不可理喻的解释
365永久激活怎么做到的

不可理喻的解释

📅 07-02 👁️ 1710
瑞士国家足球队
365永久激活怎么做到的

瑞士国家足球队

📅 07-01 👁️ 9715
贪慝的解释及意思
365永久激活怎么做到的

贪慝的解释及意思

📅 07-05 👁️ 7279
电气安全知识常见问题
世界杯365体育

电气安全知识常见问题

📅 06-27 👁️ 2070
粽子微波可以嗎?要蒸多久?這樣吃防血糖飆升,粽葉綁繩亂丟最高罰6千
魔兽世界巨型毛毛虫奇碧抓捕攻略
世界杯365体育

魔兽世界巨型毛毛虫奇碧抓捕攻略

📅 06-30 👁️ 9857