注释详细,大家自己看把,欢迎提出宝贵意见!
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" )        //接受的类型,这样可以屏蔽用户扩展名的大小写不统一
            {
                
this.File1.PostedFile.SaveAs( Server.MapPath("up"+ "\\" + UpFileName );        //正式上传操作
                this.Image1.ImageUrl = "up" + "\\" + UpFileName;        //设置Image1的路径来显示图片
                this.Image1.Visible = true;                                
                Response.Write(
"<script>window.alert('文件上传成功!');</script>");        //提示用户成功
            }

            
else
            
{
                Response.Write(
"<script>window.alert('文件格式错误!只接受bmp,jpg,gif格式的文件');</script>");        //提示格式错误
            }
Posted on 2006-06-11 16:56  李通通  阅读(1309)  评论(1编辑  收藏  举报