上传控件file,怎么样设置过滤条件,如只接受*.gif

解决方案 »

  1.   

    Dim MyPostedFile As HttpPostedFile = MyFileColl.Item(0)If LCase(MyPostedFile.ContentType.ToString()).IndexOf("image") < 0 Then
         Response.Write("无效的图形格式")
    End If
      

  2.   

    我是用js脚本实现的,我想问问在js脚本中怎么实现。
      

  3.   

    通过截取文件扩展名进行判断,如下:<script language="JavaScript">
    function checkform()
    {
    if(getname(Form1.控件ID.value)!=".GIF")
    {
    alert("图片类型不正确!");
    Form1.控件ID.focus();
    return (false);
    }
    }function getname(path_name)
    {
    return path_name.substring(path_name.lastIndexOf(".")).toUpperCase();
    }
    </script>
      

  4.   

    // 检测上传图片文件格式是否有效
    function CheckImageFileIsValidate( photoFile, isUpload ){
    var fileUpload = eval("document.all." + isUpload );
    var postFile = eval( "document.all." + photoFile );
    fileUpload.value = "true"; // 默认上传图片文件
    strFileName = postFile.value;
    var re = /^\s+|\s+$/g;
    strFileName = strFileName.replace( re,"" );
    if( strFileName == "" || strFileName.length < 5 ){
    fileUpload.value = "false";
    return true;
    } var postfix = strFileName.substring( strFileName.length - 4, strFileName.length ).toUpperCase();
    if( postfix != ".BMP" && postfix != ".JPG" && postfix != ".GIF" && postfix != ".PNG" ){
    if(confirm("上传的图片格式无效!是否继续?")){
    fileUpload.value = "false";
    return true;
    }
    else
    return false;
    }
    return true;
    }
      

  5.   

    两点建议:1、以path_name.lastIndexOf(".")判断文件的方法似乎不是很有效,如果有人将一个.doc文件命名为a.doc.gif呢?2、在客户端用js判断并不可靠,如果客户端禁用了浏览器的js功能,那么它就还是可以提交(除非你是用js提交);所以除了客户端验证外,服务器段也得做验证。
      

  6.   

    建议使用
    ------------------------------------------------------------------------
     回复人: gxboy(Blin 小学生学.NET) ( ) 信誉:65  2005-08-14 23:32:00  得分: 0  
     
     
       Dim MyPostedFile As HttpPostedFile = MyFileColl.Item(0)If LCase(MyPostedFile.ContentType.ToString()).IndexOf("image") < 0 Then
         Response.Write("无效的图形格式")
    End If
    ------------------------------------------------------------------------
    的方法.
      
     
      

  7.   

    可以客户端和服务器端的验证同时使用
    这样就会做到更好的安全性
    代码楼上的都写好了,就不Copy了~