fileupload控件
前言
学习Asp.net 是一个过程,很多是对牛腩的一个进一步的理解,很多时候控件就是很好的练手工具。
正文
fileupload控件是一个很重要的控件,他被web服务器最终解释成形如“<input type=“file”…/>”这样普通的HTML控件
它有如下常用属性:
FileUpload 控件是一个很重要的控件,它被 Web 服务器最终解释为形如“<input
type=”file”…/>” 这样的普通 HTML 控件。
它有如下常见属性:
属性名 数据类型 说明
FileBytes byte[] 上传的文件内容的字节数组表示形式
FileName string 上传文件在客户端的名字
HasFile bool 指示是否上传了文件
PostedFile HttpPostedFile 获取文件基础的 HttpPostedFile 对象
这个 HttpPostedFile 对象能帮我们做很多工作,它也有一些有用的常见属性:
属性名 数据类型 说明
ContentLength int 上传的文件内容的字节长度
ContentType string 上传文件的 MIME 内容类型
FileName string 上传文件的在客户端的名字
InputStream Stream 指向上传文件的 Stream 对象
FileUpload 控件还有一个 void SaveAs (string filename)的方法,这个方法用于将上上传文件保存到服务器上,一般来说,使用FileUpload控件上传文件一般有如下几个步骤:
(1)利用HasFile属性判断是否上传了文件。
(2)在服务器上指定一个物理路径,并检查这个物理路径是否存在,如果不存在先创建
(3)指定上传文件在服务器上的上传路径,利用Save()保存上传的文件,这一步还可以做一些其它检查工作,比如检查上传的文件是否符合要求或文件内容大小是否符合要求
注意:我们保存上传文件的时候文件用的是物理路径,但是要保存的,日后客户端的访问得到的却是相对路径或者URL地址。
实例
//例如:创建一个叫Upload.aspx的页面
<%@ Page Language="C#" autoeventwireup="true" codebehind="Upload.aspx.cs" Inherits="Asp.Net基本控件原.Upload" %>
<!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">
<p>
<asp:FileUpload ID="fileUpload" runat="server" />
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上传" />
<asp:Literal ID="literal" runat="server"></asp:Literal>
</p>
</form>
</body>
</html>
using System;
using System.Data;
using System.configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Asp.Net基本控件原
{
public partial class Upload : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnUpload_Click(object sender, EventArgs e)
{
//判断是否上传了文件
if (fileUpload.HasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = Server.MAPPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.directory.exists(savePath))
{
//需要注意的是,需要对这个物理路径有足够的权限,否则会报错
//另外,这个路径应该是在网站之下,而将网站部署在C盘却把文件保存在D盘
System.IO.directory.createdirectory(savePath);
}
savePath=savePath+"\\"+fileUpload.FileName;
fileUpload.SaveAs(savePath);//保存文件
//不过需要注意的是,在客户端访问却需要指定的是URL地址,而不是服务器上的物理地址
literal.Text = string.format("<a href='upload/{0}'>upload{0}</a>", fileUpload.FileName);
}
}
}
}
相关阅读
Qt编写项目作品大全(录音播放控件+PDF阅读器+定制化安装包工具+斗图神器等) 文章目录Qt编写项目作品大全(录音播放控件+PDF阅读器+定
关于NavigationView控件中没有layout_gravity属性提示
<android.support.design.widget.NavigationView android:id="@+id/nv_main_navigation" android:layout_wi
ASP.NET --自定义错误信息显示(customErrors, compilati
一次在将aps.net MVC框架的一个应用解决方案publish到微软azure上时,新加页面一直请求信息报错(通用错误信息),在本地又运行正常
1,报错,<token 类似的错误。 这个是数据返回时的报错。 修改: uploadHttpData: function( r, type ) { var data = !type;
【转】基于C#的WinForm中DataGridView控件操作汇总
基于C#的WinForm中DataGridView控件操作汇总 一、单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(Data