文本框的值为
C:\Documents and Settings\user\桌面\U2261P478T17D88F286DT20080725115213.jpg或者是从网络或者本地别的磁盘的图片
为什么下面的i输出值是-1  strExt没值
  int i = cl_img.LastIndexOf(".");
string strExt = cl_img.Substring(i + 1);

解决方案 »

  1.   

    为啥不用FileInfo这个类来直接获取后缀名呢?
      

  2.   

      int i = cl_img.LastIndexOf("."); 
    string strExt = cl_img.Substring(i,cl_img.length);
      

  3.   

    1、 测试一下是不是地址中的"\“转义字符引起;
    2、获取文件的扩展名最好有Path类(在System.IO命名空间)的相关方法。
      

  4.   


    FileInfo 类 或者 File 类(全静态方法)都可以
      

  5.   

    获取文件的扩展名:
    //file.value 为HtmlInputFile的值
    string text2 = Path.GetExtension(file.Value).ToLower();
    这样试下应该能获取出来的
      

  6.   

    int i = cl_img.LastIndexOf("."); 
    string strExt = cl_img.Substring(i,cl_img.length-i);
      

  7.   

    string strExt = cl_img.Substring(i,cl_img.length-i-1);
      

  8.   

    观察下面的字符串
    C:\Documents and Settings\user\桌面\U2261P478T17D88F286DT20080725115213.jpg
    \U2261和\U2261P478T17D88F286DT20080725115213.jpg表示的是同一个字符,即实际的字符串为
    C:\Documents and Settings\user\桌面\U2261
    其中没有“.”,所以i=-1,剩下的楼主就明白了吧。