代码之家  ›  专栏  ›  技术社区  ›  Avi

为什么iswellformedoriginalstring在文件uri上失败?

  •  3
  • Avi  · 技术社区  · 16 年前

    我有这样的代码:

    string uriString = @"C:\Temp\test.html";
    Uri uri = new Uri(uriString);
    bool goodCond = uri.IsWellFormedOriginalString();
    

    但是goodcond是假的!我做错什么了?


    编辑: 谢谢约翰内斯和卡特蒙。我会集中我的问题: 如何将有效的文件路径转换为有效的文件uri (使用uri.iswellFormedOriginalString作为uri有效性的指示)? 看看这个:

            DirectoryInfo di = new DirectoryInfo(@"c:\temp");
            FileInfo [] fis = di.GetFiles("test.html");
            FileInfo fi = fis[0];
            string uriString = fi.FullName;
            Uri uri = new Uri(uriString);
            bool goodCond = uri.IsWellFormedOriginalString()
    

    很明显,fi.fullname是一条格式良好的路径,但goodcond仍然是坏的!

    2 回复  |  直到 16 年前
        1
  •  9
  •   Joey Gumbo    16 年前

    您的uri格式不正确。

    一个很好的例子是 file:///C:/Temp/test.html .

    PS Home:> (new-object Uri 'file:///C:/Temp/test.html').IsWellFormedOriginalString()
    True
    PS Home:> (new-object Uri 'file:///C:\Temp\test.html').IsWellFormedOriginalString()
    False
    PS Home:> (new-object Uri 'C:\Temp\test.html').IsWellFormedOriginalString()
    False
    PS Home:> (new-object Uri 'C:/Temp/test.html').IsWellFormedOriginalString()
    False
    
        2
  •  1
  •   Catdirt    16 年前
    推荐文章