zoukankan      html  css  js  c++  java
  • [C#]从URL中获取路径的最简单方法-new Uri(url).AbsolutePath

    今天在写代码时遇到这样一个问题:

    如何从字符串 "http://job.cnblogs.com/images/job_logo.gif" 中得到 "/images/job_logo.gif"?

    对这个问题的解决方法的要求是:

    1. 只能调用 .NET 类库中的 API;

    2. 用最简单的方法实现。

    开始我想到的是 System.IO.Path,代码如下:

    Path.GetDirectoryName(url) + "\" + Path.GetFileName(url);

    得到的是错误的结果:

    http:job.cnblogs.comimagesjob_logo.gif

    接着想到的是 System.Web.VirtualPathUtility,代码如下:

    VirtualPathUtility.GetDirectory(url) + VirtualPathUtility.GetFileName(url);

    运行报错:

    System.ArgumentException : The relative virtual path 'http:/job.cnblogs.com/images/job_logo.gif' is not allowed here.

    要将 "http://job.cnblogs.com/images/job_logo.gif" 改为 "/images/job_logo.gif" 才能得到正确的结果。

    后来,在 stackoverflow 上受到启发, 用 System.Uri 轻松搞定!代码如下:

    new Uri(url).AbsolutePath;
  • 相关阅读:
    单词统计-续
    “帮你APP”团队冲刺10
    软件工程周总结15
    梦断代码阅读笔记03
    个人课程总结
    梦断代码阅读笔记02
    梦断代码阅读笔记01
    软件工程周总结14
    计算最长英语单词链
    软件工程周总结13
  • 原文地址:https://www.cnblogs.com/sjqq/p/7341032.html
Copyright © 2011-2022 走看看