首页 > Linux操作系统 > Linux操作系统 > FileUpload控件学习
用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器。您必须显式提供一个控件(例如,可以提供一个命令按钮,当用户单击它时即可上载文件。)
该控件最主要的一个方法是SaveAs(string fileName),即将要从客户端上指定的文件上传到web服务器上指定的目录下面。
要注意的是:
1.在上传文件前,应先验证该FileUpload控件是否真正包含了计算机上的某个文件,这个可以通过控件的HasFile属性(bool值)达到验证的目的。即:HasFile 返回 true,则表明存在该文件,那么就可以调用 SaveAs 方法,保存文件到web服务器上。否则则向用户显示提示消息,指明该控件不包含文件(在测试中我们发现,就算控件中指明路径,但是这个路径本身不包括这个文件时,返回值也为False)
2.如果我们要访问从客户端上传来的文件本身的信息,可以通过FileUpload控件的PostedFile属性,该属性返回一个HttpPostedFile对象,利用该对象,就可以获取文件的大小(ContentLength属性)、文件的类型(ContentType属性)、客户端文件的完整路径(FileName).
下面是用FileUpload控件上传文件的一个简单示例:
protected void Button1_Click(object sender, EventArgs e)
{
bool allowUpload = false;
string[] extensionType ={ ".jpg", ".bmp", ".gif" };
if (this.FileUpload1.HasFile)
{
//利用Path.GetExtension取得文件扩展名
string fileExtension = Path.GetExtension(this.FileUpload1.FileName).ToLower();
foreach (string var in extensionType)
{
if (fileExtension == var)
{
allowUpload = true;
break;
}
}
if (allowUpload)
{
string webPath = Server.MapPath("~" + "/上传的文件/");//注意:Sevver.MapPath("~")指明“根目录”
this.FileUpload1.SaveAs(webPath + this.FileUpload1.FileName);
HttpPostedFile fileInfo = this.FileUpload1.PostedFile;
Label1.Text = "文件上传成功!
文件大小为:"+fileInfo.ContentLength +"字节
文件类型为:"+fileInfo.ContentType +"
文件路径为:"+fileInfo.FileName;
}
else
{
this.Label1.Text = "文件类型不对,请上传文件后缀为.jpg或.bmp或.gif等类型的图片文件";
}
}
else
{
this.Label1.Text = "文件不存在,请指定路径!";
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-541443/ ,如需转载,请注明出处,否则将追究法律责任。