Input(file) 控件主要用来向服务器端上传文件,下面我们通过一个简单上传图片的例子说明他的使用方法:
打开.NET 在页面上拖人一个 Input(file)控件,点击右键,选择“作为服务器控件运行”,然后拖一个 button 和一个image
在button 事件中加入如下代码:
protected void Button1_Click(object sender, EventArgs e)
{
string fullname=this.File1.PostedFile.FileName; //获取文件在客户端的完整路径和文件名
string name=fullname.Substring(fullname.LastIndexOf("\\")+1); // 字符串截取函数取得文件名
string type = name.Substring(name.LastIndexOf(".") + 1); // 字符串截取函数取得文件后缀名
if(type=="jpg" || type=="bmp"||type=="gif") // 判断是否为图片
{
this.File1.PostedFile.SaveAs(Server.MapPath("up")+"\\"+name ); //上传到服务器UP目录
this.Image1.ImageUrl = "up/" + name; //图片显示
}
else
{
Response.Write("<script language='javascript'>alert('你选择的图片格式错误!')</script>");
}
}
在.net2005上测试通过,如果是其他格式的,改变相应的后缀名即可;为防止重名可把 name 变量用随机函数和日期混合重命名!
==================================================================
附:indexof() substring() 函数用法:
indexof() :在字符串中从前向后定位字符和字符串;所有的返回值都是指在字符串的绝对位置,如为空则为- 1
string test="asdfjsdfjgkfasdsfsgfhgjgfjgdddd";
test.indexof('d') =2 //从前向后 定位 d 第一次出现的位置
test.indexof('d',1) =2 //从前向后 定位 d 从第三个字符串 第一次出现的位置
test.indexof('d',5,2) =6 //从前向后 定位 d 从第5 位开始查,查2位,即 从第5位到第7位;
lastindexof() :在字符串中从后向前定位字符和字符串;、
用法和 indexof() 完全相同。
下面介绍 IndexOfAny ||lastindexofany
他们接受字符数组做为变元,其他方法同上,返回数组中任何一个字符最早出现的下标位置
如下
char[] bbv={'s','c','b'};
string abc = "acsdfgdfgchacscdsad";
Response.Write(abc.IndexOfAny(bbv))=1
Response.Write(abc.IndexOfAny(bbv, 5))=9
Response.Write(abc.IndexOfAny(bbv, 5, 3))=9
lastindexofany 同上。
====================================================================
substring() 用法
string a="aadsfdjkfgklfdglfd"
a.substring(5) //截取从第五位以后的所有字符串
a.substring(0,5) //截取从第0到第5 以后的所有字符串
...........................................结束。。。。。。。。