博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[C#]从URL中获取路径的最简单方法-new Uri(url).AbsolutePath
阅读量:5823 次
发布时间:2019-06-18

本文共 768 字,大约阅读时间需要 2 分钟。

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

如何从字符串 "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.com\images\job_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;

转载于:https://www.cnblogs.com/dudu/archive/2013/01/14/get-path-from-url.html

你可能感兴趣的文章
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>
多线程day01
查看>>
react-native 模仿原生 实现下拉刷新/上拉加载更多(RefreshListView)
查看>>
MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>