• ASP.NET使用FileUpload上传文件(限制文件大小及文件类型)
  • 阿迪王 发表于 2014/11/22 10:34:00 | 分类标签: 上传文件 限制大小 文件类型
  • 我们在开发系统中经常会遇到需要上传图片或文件的功能,ASP.NET为我们提供了一个FileUpload文件上传控件,可以很方便的实现文件上传功能,本文就以如何把附件以文件的形式上传到服务器给大家提供一个例子。

    1.上传图片,即限制上传文件的后缀名为.jpg、.png、.gif等

    1. if (FileUpload1.HasFile == true)  
    2. {  
    3.     string fileName = FileUpload1.FileName;  
    4.     string savePath = Server.MapPath("~/upload") + "\\" + fileName; 
    5.     string fileNameWithoutExt = fileName.Substring(0, fileName.LastIndexOf('.')); 
    6.     //Response.Write(fileNameWithoutExt); 
    7.     string ext = Path.GetExtension(savePath).ToLower(); 
    8.  
    9.     if (ext == ".jpg" || ext == ".png" || ext == ".bmp" || ext == ".gif" || ext == ".tif" || ext == ".jpeg") 
    10.     { 
    11.         if (File.Exists(savePath)) 
    12.         { 
    13.             //提示上传失败 
    14.             //提示用户改名   关于有文件重名网上也有其他方法,例如自动改为当前时间的  年月日时分秒毫秒 
    15.             Response.Write("请改名后再上传"); 
    16.             return; 
    17.         } 
    18.         FileUpload1.SaveAs(savePath); 
    19.         //可以直接将这个savePath保存到数据库,获取文件名的方法为  Path.GetFileName() 
    20.         //如果没有重名,直接保存文件名也是可以的,显示照片时 VirtualPathUtility.ToAbsolute("~/upload") + "/" + 文件名(不带路径) 
    21.         //提示上传成功 
    22.         Response.Write("Success"); 
    23.     } 
    24.     else 
    25.     { 
    26.         Response.Write("Failed");  
    27.         //提示上传失败  
    28.     }}  

    2.限制上传文件的大小

    1. //对上传文件的大小进行检测,限定文件最大不超过1M  
    2. if (FileUpload1.PostedFile.ContentLength > 1024000)  
    3. {  
    4.     fileOk = false;  
    5. }  

    3.遇到重名的处理

    ①提示同名,需要用户重新命名

    ②利用时间的年月日时分秒毫秒来产生文件名

    ③目标文件夹:File

    临时文件夹:Temp
    判断在File文件夹下有无同名,
    有,用javascript询问用户,记录下用户的选择,
    上传到Temp文件夹,
    转到另一页面,获取用户的选择,
    如果拥护选择了覆盖   将文件移动到File下,否则删除文件

    ④加个checkBox(是否覆盖同名文件)。
    如果用户未选择“覆盖checkBox”,并且有同名文件时。那么直接提示“上传失败,有同名文件存在,请改名后重新上传或选择覆盖上传”。
    如果允许自动重命名上传,遇到同名文件时,则可以取当前日期+时间+文件扩展名(假如有的话),作为文件名,再上传文件。

    ⑤。。。

  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢本文作者
  • 作者头像
  • 昵称:阿迪王
  • 加入时间:2013/6/13 0:00:00
  • TA的签名
  • 这家伙很懒,虾米都没写
  • +进入TA的空间
  • 以下内容也很赞哦
分享按钮