asp.net 1.1的
用System.IO.Path.GetExtension(UFile.Value)
我上传10m左右的文件, 要等很久很久以后才可以看到扩展名, 估计是上传到了服务器中后才显示吧,有没有其他方法不上传就知道扩展名和大小?

解决方案 »

  1.   

    嗯,同意楼上hy_lihuan() 的想法,
      

  2.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    if( filMyFile.PostedFile != null )
    {
    HttpPostedFile myFile = filMyFile.PostedFile;
    string extension = System.IO.Path.GetExtension(myFile.FileName);
    L1.Text=extenion;
    }
    }

    我开始这几句
    但是发现这几句很慢...而且感觉是上传了才显示谁可以放出代码?
      

  3.   

    LZ如果你通过HttpPostedFile或者相关的几个类型中的属性判断上传文件后缀,那么必然是等文件传上去后才可以得到后缀.你的问题是解决不了的.
    唯一的办法就是提前发送.
    首先在选择上传文件后触发前台JS脚本,判断文件名,不合法的就直接清空选择框,并出现提示.合法的才允许上传.之后最好在点上传按扭的时候有个预先动作,XMLHTTP把文件名发过去,根据返回价值获取是否提交,这时候才把文件POST回去.服务端最好也加一个检查.
      

  4.   

    如果只要取扩展名用js来获取,然后POST或GET发送过去不就行了。
      

  5.   

    //****用JS获取文件名哈.
    var varFileName=varFilePath.substring(varFilePath.lastIndeOf("\\")+1);
      

  6.   

    愚笨一点的方法哈..
    HttpPostedFile myFile = filMyFile.PostedFile;
    string[] arrStr = myFile.FileName.ToString().Split('\\');  
    tempStr = arrStr[arrStr.Length - 1];
    string[] fileName = tempStr.ToString().Split('.');
    L1.Text = fileName[1]'
      

  7.   

    function ImageShow()
                {
                    var filepath;
                    
                    var fileext=document.getElementById("File").value.substring(document.getElementById("File").value.length-4,document.getElementById("File").value.length);
                    var fileext2=document.getElementById("hidImage").value.substring(document.getElementById("hidImage").value.length-4,document.getElementById("hidImage").value.length);
                    fileext=fileext.toLowerCase();
                    
                     if(fileext2!='.gif' && fileext2!='.jpg')
                      {
                            document.getElementById("lbPic").innerText='图片不属于GIF与JPG类型'; 
                            eval("tbShow.style.display=\"\";");
                            return false;
                      }
                      if (fileext!='.gif' && fileext!='.jpg')
                      {
                            document.getElementById("lbPic").innerText='图片不属于GIF与JPG类型'; 
                            eval("tbShow.style.display=\"\";");
                            return false;                       
                      }
                      if(document.getElementById("imgshow").fileSize==-1)
                      {
                            document.getElementById("lbPic").innerText='图片不属于GIF与JPG类型'; 
                            eval("tbShow.style.display=\"\";");
                            return false;                       
                      }
                        
                    if(document.getElementById("File").value.length>0)
                    filepath=document.getElementById("File").value;
                    document.getElementById("imgshow").src=filepath;
                    document.getElementById("imgshow").width=128;
                    document.getElementById("imgshow").heigth=125;
                    
                    var oFileChecker = document.getElementById("imgshow");
                    var FileMaxSize = 50;//限制上传的文件大小,单位(k)  lbPic  innerText
                        
                    if(oFileChecker.fileSize>FileMaxSize*1024)
                    {          
                        document.getElementById("lbPic").innerText="当前文件为" + oFileChecker.fileSize/1024 + "K,请不要超过" + FileMaxSize + "K,请处理后再上传.";          
                        //alert("当前文件为" + oFileChecker.fileSize/1024 + "K\n文件不要超过" + FileMaxSize + "K,请处理后再上传.");
                        document.getElementById("File").value='';
                        eval("tbShow.style.display=\"\";");
                        return false;
                    }
                    return true;
                }