原问题是这样的:
有一个FileUpload控件(ImageUpload_Warning),要实现图片上传,在获得文件的路径时方法如下:
string imagename = ImageUpload_Warning.FileName;//图片名
string fullfilename = ImageUpload_Warning.PostedFile.FileName;//图片全路径
string filetype = fullfilename.Substring(fullfilename.LastIndexOf(".")+1);//图片类型“string fullfilename = ImageUpload_Warning.PostedFile.FileName;//图片全路径”这句获得的是图片位置的全路径对吧? 可是在我老师的电脑上显示的却只是图片的文件名,并不是全路径,和“imagename”的值是一样的?而在我的电脑上返回的确实全路径。我们用的都是 VS2008我老师的操作系统是XP,而我的操作系统是Win7,和这个有关系吗?什么原因?怎样修正???大侠:huangwenquan123的解释是:FileUpload1.PostedFile.FileName
ie:d:\My Documents\xx.png 
ff:xx.png
可现在的情况是,在火狐下确实是不行,获取的是图像名。可是老师在台式机上的IE6下不行,而在他笔记本的IE6下则可以,获得的是全路径。  这样的问题应该怎样解决呢???急急急

解决方案 »

  1. “string fullfilename = ImageUpload_Warning.PostedFile.FileName;//这种情况碰到过,IE和火狐获得的路径不同的,IE是全路径,火狐是文件名。
      

  2. 上传的服务器端关心的是文件名,而不是包含路径的文件名,所以用FileUpload1.PostedFile.FileName
    获取后,再处理一次就可以了:
    using System.IO;string fileName=Path.GetFileName(FileUpload1.PostedFile.FileName);
      

  3. 支持string fileName=Path.GetFileName(FileUpload1.PostedFile.FileName);浏览器不一样 获取的就不一样。写成二进制吧!哈哈
      

  4. //你获取图片全路径是要用来取后缀名的?直接用
    Path.GetFileName(FileUpload1.PostedFile.FileName)//获取文件名+后缀名
    Path.GetExtension(FileUpload1.PostedFile.FileName)//后缀名
      

类似问题 »