您的位置:首页 > 编程语言 > ASP

简单asp.net文件的上传

2013-10-13 19:41 204 查看
1、在前台页面需要用到的控件是FileUpload

2、后台的代码,通过代码来理解上传过程

public partial class WebForm1 : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{

List<string> type = new List<string>(); //该集合来存放一些文件的格式,来为下面的类型判断做准备。

type.Add("image/jpeg");

type.Add("image/x-png");

if (FileUpload1.HasFile) //这个if语句判断的是是否选择了需要上传的文件。如果选择了FileUpload1.HasFile返回true,没有选择返回false。若没有这个判断会报错。

{

if (type.Contains(FileUpload1.PostedFile.ContentType) == false) //这个判断上传数据的类型。看是否与上面集合里面有的类型相匹配。如果有,允许上传。

{

Label1.Text = "上传的图片格式不正确,只支持jpg和png格式的图片";

}

else

{

if (FileUpload1.PostedFile.ContentLength <= 20* 1024 * 1024) //该if语句判断上传文件的大小,如果上传的文件太大,可能占用服务器时间过程,可以导致别人无法访问服务器。也会存在安全问题。当然光在这儿限制大小还会出现问题的。程序是先进入Web.config的,当这里的限制条件通不过也是要报错的。所以要在Web.config你面加上这样一段代码: <httpRuntime maxRequestLength="94000"/>;94000是一个可变值,只有上传的文件满足这儿的限制条件,才会进出C#后台的if判断语句。

{

string str = "F:\\Asp.net\\文件上传\\文件上传\\image" + FileUpload1.PostedFile.FileName;

FileUpload1.PostedFile.SaveAs(str); //用SaveAs()方法来将选择的文件存到指定的位置。F:\\Asp.net\\文件上传\\文件上传\\image为指定的文件夹,FileUpload1.PostedFile.FileName是存到指定位置后还用原来的文件名。

Label1.Text = "上传成功";

}

else

{

Label1.Text = "您传的文件过大";

}

}

}

else

{

Label1.Text = "请选择要上传的文件";

}

}

}

注意,if语句的顺序很重要,否则会出现提示错误。或者报异常等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: