欢迎访问博客 Http://Lordz.CN

/////////////////////上传 开始///////////////////////////
System.Text.StringBuilder strbder = new System.Text.StringBuilder();    //StringBuilder对象组建字符串

string FullFileName = this.File1.PostedFile.FileName;        //获得客户浏览器选择文件的全部路径以及文件名
string UpFileName = FullFileName.Substring( FullFileName.LastIndexOf("\\") + 1);        //以"\"为索引截取获得文件名,用途是获得文件格式
string FileType = UpFileName.Substring( UpFileName.LastIndexOf(".") + 1 );        //以"."为索引街区获得文件类型

//以下操作是为了避免在同一时间有多人同时上传,造成文件名相同而发生覆盖现象,
//这里以长时间加随机数来尽量避免,可以加大随机数而继续降低重名几率
System.DateTime currentTime=new System.DateTime();        //创建时间对象
currentTime = System.DateTime.Now;        //设置当前时间
strbder.Append(currentTime.Year.ToString());    //年
strbder.Append(currentTime.Month.ToString());    //月
strbder.Append(currentTime.Day.ToString());        //日
strbder.Append(currentTime.Hour.ToString());    //小时
strbder.Append(currentTime.Minute.ToString());    //分钟
strbder.Append(currentTime.Second.ToString());    //秒
Random objRdm = new Random();        //创建随机对象
strbder.Append(objRdm.Next(1,200).ToString());        //生成一个1--200之间的随机数

UpFileName = strbder.ToString() + "." + FileType;    //正式组建在服务器存储的文件名
UpFileName = UpFileName.ToLower();        //全部设置为小写,避免带来的不方便
FileType = FileType.ToLower();        //设置为小写,主要用来判断

if( FileType == "bmp" || FileType =="jpg" || FileType =="gif" )        //接受的类型,这样可以屏蔽用户扩展名的大小写不统一
{
 UpFilePos=Server.MapPath("..\\upload") + "\\" + UpFileName;
 this.File1.PostedFile.SaveAs(UpFilePos);        //正式上传操作                             
 //Response.Write("<script>window.alert('添加成功!');</script>");        //提示用户成功
}
else
{
 Response.Write("<script>window.alert('文件格式错误!只接受bmp,jpg,gif格式的文件');</script>");        //提示格式错误
}
/////////////////////上传 结束///////////////////////////

posted on 2006-12-30 18:41  Lordz  阅读(301)  评论(0编辑  收藏  举报
Http://Lordz.CN