如何在MVC 4,C#中获取uploads文件夹的url地址?

时间:2017-06-09 11:29:56

标签: c# asp.net-mvc asp.net-mvc-4

我需要在我的视图中创建图像标签,并在“uploads”文件夹中通过控制器方法创建图像后生成网址。我可以硬编码我的网址,但这不是这样做的方法。无论我在哪里部署应用程序,我都需要上传文件夹的真实URL。

例如,uploads文件夹位于Views / Controllers / Models的根级别,如此

http://localhost:1350/uploads

如何在C#/ MVC 4中生成此URL?

3 个答案:

答案 0 :(得分:1)

我相信你需要:

string pathToFiles = Server.MapPath("/Uploads")

您可以阅读有关此here

的更多信息

答案 1 :(得分:1)

您可以使用此

public static string GetFileUrl(string serverUrl, bool forceHttps)
{
    if (serverUrl.IndexOf("://") > -1)
        return serverUrl;

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

var url = GetFileUrl(VirtualPathUtility.ToAbsolute("~/uploads/"),false))

答案 2 :(得分:0)

你能尝试一下吗?

HttpContext.Current.Server.MapPath("~/Uploads");

获取网址的方式:

  var currentServerURL = Request.Url.Scheme + "://" + Request.Url.Authority +     Request.ApplicationPath.TrimEnd('/') + "/";