FileUpload上显示G:\shouji\aa.jpg怎样获取整个路径G:\shouji\aa.jpg和获取前面的路径G:\shouji\

解决方案 »

  1.   

    整个路径应该是有属性
    前面的路径可以用string的lastindexof截取比如directory.Substring(directory.LastIndexOf(@"\") + 1);
      

  2.   


    HttpFileCollection hs = HttpContext.Current.Request.Files;
            HttpPostedFile postedFile = null;
            for (int iFile = 0; iFile < hs.Count; iFile++)
            {
                postedFile = hs[iFile];
                string file = postedFile.FileName;//G:\shouji\aa.jpg 
                string files = file.Remove(file.Length - System.IO.Path.GetFileName(postedFile.FileName).Length);//G:\shouji\
            }
      

  3.   

     string file = postedFile.FileName;//G:\shouji\aa.jpg 
    获取到的是aa.jpg 
    而不是G:\shouji\aa.jpg 
      

  4.   

    FileUpload控件
    FileUpload控件是一个很重要的控件,它被Web服务器最终解释为形如“<input type=”file”…/>”这样的普通HTML控件。
    它有如下常见属性:属性名 数据类型 说明 
    FileBytes byte[] 上传的文件内容的字节数组表示形式 
    FileContent Stream 上传文件的数据流 
    FileName string 上传文件在客户端的名字 
    HasFile bool  指示是否上传了文件 
    PostedFile HttpPostedFile 获取文件基础的HttpPostedFile对象 
      
    这个HttpPostedFile对象能帮我们做很多工作,它也有一些有用的常见属性:
    属性名 数据类型 说明 
    ContentLength int 上传的文件内容的字节长度 
    ContentType string 上传文件的MIME 内容类型 
    FileName string 上传文件的在客户端的名字 
    InputStream Stream 指向上传文件的Stream对象 
      FileUpload控件还有一个void SaveAs (string filename)的方法,这个方法用于将上传的文件保存到服务器上。一般来说,使用FileUpload控件上传文件一般有如下几个步骤:
    (1)利用HasFile属性判断是否上传了文件。
    (2)在服务器上指定一个物理路径,并检查这个物理路径是否存在,如果不存在则先创建。
    (3)指定上传文件在服务器上的上传路径,利用SaveAs()保存上传的文件。这一步还可以做一些其它检查工作,比如检查上传的文件格式是否符合要求或文件内容大小是否符合要求。
    (4)将相对路径或者URL地址保存起来,以便客户访问或者下载。
    这里要着重强调的是:我们保存上传的时候保存文件用的是物理路径,但是要保存的、日后客户端能访问得到的却是相对路径或者URL地址。
      

  5.   

    一个使用FileUpload控件的例子:protected void btnUpload_Click(object sender, EventArgs e) 
        { 
            //判断是否上传了文件 
            if (fileUpload.HasFile) 
            { 
                //指定上传文件在服务器上的保存路径 
                string savePath = Server.MapPath("~/upload/"); 
                //检查服务器上是否存在这个物理路径,如果不存在则创建 
                if (!System.IO.Directory.Exists(savePath)) 
                { 
                    //需要注意的是,需要对这个物理路径有足够的权限,否则会报错 
                    //另外,这个路径应该是在网站之下,而将网站部署在C盘却把上传文件保存在D盘 
                    System.IO.Directory.CreateDirectory(savePath); 
                } 
                savePath = savePath + "\\" + fileUpload.FileName; 
                fileUpload.SaveAs(savePath);//保存文件 
                //不过需要注意的是,在客户端访问却需要指定的是URL地址,而不是在服务器上的物理地址 
                literal.Text = string.Format("<a href='upload/{0}'>upload/{0}</a>", fileUpload.FileName); 
            } 
        } 
      

  6.   

    具体用法和描述见:asp.net夜话之六:asp.net基本控件
      

  7.   

    对于服务器来说,客户端的路径是没有任何意义的。所以fileupload不会提供完整路径。你非要路径的话,放已经隐藏空间,<input type='hidden'>或者服务器的隐藏域控件。
    fileupload在客户端加上事件onchange,通过js把fileupoad.value赋值给隐藏控件,后台的地方取隐藏控件的值
      

  8.   

    string s1=FileUpload1.PostedFile.FileName;//获取G:\shouji\aa.jpg 
    string s2 =s1.Substring(0,s1.LastIndexOf('\\'));//获取G:\shouji\