前台 js :
 function ajaxFileUpload() {
            $.ajaxFileUpload({
                url: 'ajax.ashx',
                secureuri: false,
                fileElementId: 'FileUpload1',
                dataType: 'json',
                success: function(data, status) {
                    if (typeof (data.error) != 'undefined') {
                        if (data.error != '') {
                            alert(data.error);
                        } 
                    }
                },
                error: function(data, status, e) {
                    alert(e);
                }
            })
        }  
ashx 后台:string error = "";
                string msg="";
                HttpPostedFile file = context.Request.Files[0];
                int iFileSize = file.ContentLength;
                if (iFileSize > 100000)
                //检查images size
                {
                    error = "size limit 100jb";
                    string result = "{ error:'" + error + "'}";
                    context.Response.Write(result);
                }
                else
                {
                    string result = "{ error:'" + error + "'}";
                    context.Response.Write(result);
                }
不是很明白原理,请高人指点丫 ...万分感激 

解决方案 »

  1.   

    这里应该有你想要的
    http://www.cnblogs.com/beckson/archive/2010/12/07/1899038.html
      

  2.   

    你想得到客户端的文件完全路径:
    string aa = FileUpload1.PostedFile.FileName.ToString();
      

  3.   

    IE7(8)下------工具------Internet选项------安全-----自定义级别------将文件上传到服务器时包含本地目录路径启用IE9 你也试试
      

  4.   

    学习了 ! 
    可是这不足以解决我的问题 ,我在后台只做判断文件大小 ,如果合格我并没有马上要保存下来 。可是一但运行后台 file upload 好像就被清空掉了 /.\ 
      

  5.   

    不好意思,主题让人误解了 ! 我指的是验证以后在html file upload 的路径。就是用户选择文件以后显示出来的那个。
      

  6.   

    file输入是不能重复保持路径的,也不能设置。如果要验证,你可以考虑使用silverlight在客户端直接读取文件,然后验证完了使用silverlight上传到服务器。例如:http://blog.csdn.net/dujingjing1230/article/details/5443003
      

  7.   

    以前都没用过silverlight ... 我目前用的是vs2008 不知道是否也可以运行? 
      

  8.   

    现在 BS 能获取客户端文件路径?? 在 chrome 下不是  c:/fake/  。IE 9+ 不是只有文件名么? CS 能获取,BS 就不行了吧?VS2008下面用 FileUpload 控件的 SaveAs 能实现上传。。
      

  9.   

    Jquery 前台验证。  function volidFile(){
         var file = $("#<%FileUpload1.ClientID%>");
         if(file.val() == "")
         {
               alert("请选择上传文件!");
                     return false;
         }
    }
    、、、、、、、、、我自己是这样验证路径是否为NULL 的= =、
      

  10.   

    是想在上传前验证的,可是ie9 不支持js 验证大小 ,所以来问问看大家的方法 ,感谢大家的回复,我还是直接用后台吧 ^^