关于上传小附件的函数(小于4m)--青蛙非王子(lostfrog)

本文介绍了一个文件上传功能的实现过程,包括文件名检查、重命名、存储路径设定及数据库记录更新等内容。此外,还涉及了对特定文件类型的限制及避免文件名重复的处理。

  private void UpFile()
  {
   if(UpLoadFile.PostedFile.ContentLength>0&&TextBox1.Text.Trim()!="")
   {
    string fileName=UpLoadFile.PostedFile.FileName.Substring(UpLoadFile.PostedFile.FileName.LastIndexOf("//"),UpLoadFile.PostedFile.FileName.Length-UpLoadFile.PostedFile.FileName.LastIndexOf("//"));//获取上传文件名
    string fileTime=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Second.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Millisecond.ToString();//获取当前时间字符串
    fileName="//"+fileTime+fileName.Substring(fileName.IndexOf("."),fileName.Length-fileName.IndexOf("."));//重新命名上传文件
    string ExtendName=fileName.Substring(fileName.LastIndexOf("."),fileName.Length-fileName.LastIndexOf("."));//获取扩展名
    if(ExtendName==".asp" || ExtendName=".aspx" || ExtendName=".exe" || ExtendName=".asa" || ExtendName=".asc" || ExtendName=".aspx")//添加要禁止的扩展
    {
     Response.Write("<script language=javascript>alert('该扩展名不能上传!');</script>");
     Response.Redirect("Err.aspx");//转跳错误页面
    }

    string fileMapPath="//UpLoade//Files"+fileName;//指定上传路径
    DBAccess myDB=new DBAccess();
    string SelectTBGovMeetingDatum="Select Count(*) from TBAttachments where AttachmentName='"+TextBox1.Text.Trim()+"'";
    myDB.DBSetSelect(SelectTBGovMeetingDatum);
    myDB.DBOpen();
    int flog=Convert.ToInt32(myDB.DBExecuteScalar());//判断数据库中附件名是否和输入的重复
    myDB.DBClose();
    if (File.Exists(Server.MapPath(Request.ApplicationPath)+"//UpLoads//Files"+fileName)==false && flog==0)//File需要命名空间System.io
    {
     UpLoadFile.PostedFile.SaveAs(Server.MapPath(Request.ApplicationPath)+"//UpLoads//Files"+fileName);//保存文件到指定位置
     
     string cmdText="Insert into TBAttachments(AttachmentName,AttachmentURL,AttachmentReport,AttachmentReportID) values('"+TextBox1.Text.Trim()+"','"+fileMapPath+"','"+Label2.Text.Trim()+"','"+Label1.Text.Trim()+"')";//插入数据库中
     myDB.DBSetSelect(cmdText);
     myDB.DBOpen();
     myDB.DBExcuteNonQuery();
     myDB.DBClose();
    }
    else
    {
     Response.Write("<script language=javascript>alert('命名重复或下载地址重复');</script>");
    }

   }
   else
   {
    Response.Write("<script language=javascript>alert('找不到文件');</script>");
   }
  }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值