string url = Request.Url.AbsoluteUri;
int lastC = url.LastIndexOf('/') + 1;
string fileName = url.Substring(lastC, url.Length - lastC - 1);
这样就正确
string url = Request.Url.AbsoluteUri;
string fileName = url.Substring(url.LastIndexOf('/') + 1, url.Length - url.LastIndexOf('/'));
这样就出错:索引和长度必须引用该字符串内的位置为什么哦?

解决方案 »

  1.   

    你把 url.Length - url.LastIndexOf('/') 输出来看看是多少
      

  2.   

    string fileName = url.Substring(lastC, url.Length - lastC - 1);
    等于
    string fileName = url.Substring(lastC, url.Length - url.LastIndexOf('/') - 1 - 1);
      

  3.   

    ----string fileName = url.Substring(lastC, url.Length - lastC - 1);
    问题就出现在这里Substring(i,j);
    i:是起始位置
    j:不是终止位置,而是你要取得长度,如:
    string a="abcdef";
    string str=a.Substring(2,2);
    str="de";