gpt4 book ai didi

asp.net-mvc - 在 ASP.Net MVC 中获取任何文件的完整 url

转载 作者:行者123 更新时间:2023-12-03 09:13:25 25 4
gpt4 key购买 nike

我想在 MVC 中生成任何文件的完整 Url(带有域名等)。示例:A .jpg文件或 exe文件。

示例:如果我给出“~/images/abc.jpg”,它应该返回“http://www.mywebsite.com/images/abc.jpg

我知道 Url.Action将协议(protocol)作为参数的重载。但是Url.Action只能用于操作。

我想要 Url.Content 之类的东西以协议(protocol)为参数的函数。

您知道是否有任何方法可以获取任何文件的完整 url?

我试过:VirtualPathUtility.ToAbsolute , ResolveClientUrl , ResolveUrl但所有这些似乎都不起作用。

最佳答案

您可以使用以下代码将“~/”替换为绝对 URL。

System.Web.VirtualPathUtility.ToAbsolute("~/")

编辑:

首先你需要定义一个方法。
public static string ResolveServerUrl(string serverUrl, bool forceHttps)
{
if (serverUrl.IndexOf("://") > -1)
return serverUrl;

string newUrl = serverUrl;
Uri originalUri = System.Web.HttpContext.Current.Request.Url;
newUrl = (forceHttps ? "https" : originalUri.Scheme) +
"://" + originalUri.Authority + newUrl;
return newUrl;
}

现在调用此方法将返回完整的绝对 url。
ResolveServerUrl(VirtualPathUtility.ToAbsolute("~/images/image1.gif"),false))

输出将是 http://www.yourdomainname.com/images/image1.gif

关于asp.net-mvc - 在 ASP.Net MVC 中获取任何文件的完整 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2069922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com