我想將此物理路徑"C:\bla\bla\Content\Upload\image.jpg"
轉換爲像"/Content/Upload/image.jpg"
這樣的服務器路徑。如何獲取物理路徑的服務器路徑?
我該怎麼做?
我想將此物理路徑"C:\bla\bla\Content\Upload\image.jpg"
轉換爲像"/Content/Upload/image.jpg"
這樣的服務器路徑。如何獲取物理路徑的服務器路徑?
我該怎麼做?
你可以使用類似的東西:
public static class Extensions {
public static string RelativePath(this HttpServerUtility utility, string path, HttpRequest context)
{
return path.Replace(context.ServerVariables["APPL_PHYSICAL_PATH"], "/").Replace(@"\", "/");
}
}
和你打電話
Server.RelativePath(path, Request);
這不是OP要求的相反嗎? – GvS
對不起,我重寫了 –
的回覆謝謝,它很好的解決方案,但我更喜歡使用HttpServerUtilityBase代替HttpServerUtility,而不是HttpRequestBase而不是HttpRequestBase。也運作良好。 –
,你可以做以下,以獲得相對路徑。
String filePath = @"C:\bla\bla\Content\Upload\image.jpg";
String serverPath = Request.PhysicalPath;
String relativePath = filePath.Substring(serverPath.Length, filePath.Length - serverPath.Length);
哪裏?在客戶端還是服務器端? – jsalonen
@jsalonen - 服務器端 – Freshblood
[ASP.NET絕對路徑回到web相對路徑]可能的重複(http://stackoverflow.com/questions/3164/asp-net-absolute-path-back-to-web-相對路徑) –