如何使用 razor 获取 umbraco 中的绝对媒体文件路径?

发布于 2024-11-28 06:57:36 字数 769 浏览 1 评论 0原文

我尝试了以下剃刀代码:

@room.Media("summaryImage","umbracoFile")

但我得到类似 ~/media/155/lux.jpg 的内容,如何删除最初的 ~ 以获得服务器路径,即 /media/155/lux.jpghttp://some_url/media/155/lux.jpg

编辑:

我已经尝试过了

@{
  dynamic summaryImagePath = room.Media("summaryImage","umbracoFile");
}
@Page.ResolveUrl(@summaryImagePath)

@Page.ResolveUrl(@room.Media("summaryImage","umbracoFile"))

但我不断收到错误:

Error loading Razor Script Cannot perform runtime binding on a null reference

即使 @room.Media("summaryImage","umbracoFile") 给出 ~/media/155/lux.jpg< /代码>。

有什么想法吗?

I've tried the following bit of razor code:

@room.Media("summaryImage","umbracoFile")

but I get something like ~/media/155/lux.jpg, how do I remove the initial ~ to get a server path ie, /media/155/lux.jpg or http://some_url/media/155/lux.jpg?

EDIT:

I've tried

@{
  dynamic summaryImagePath = room.Media("summaryImage","umbracoFile");
}
@Page.ResolveUrl(@summaryImagePath)

and

@Page.ResolveUrl(@room.Media("summaryImage","umbracoFile"))

but I keep getting the error:

Error loading Razor Script Cannot perform runtime binding on a null reference

even though @room.Media("summaryImage","umbracoFile") gives ~/media/155/lux.jpg.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

混浊又暗下来 2024-12-05 06:57:36

我不确定 Umbraco 内是否有解决方案,我只是使用 .NET 框架。使用 ASP.NET,您可以使用 MapPath 将虚拟路径解析为物理文件路径:

@HttpContext.Current.Server.MapPath(room.Media("summaryImage","umbracoFile"))

编辑:

如果您是寻找绝对 URL,您可以使用以下变体之一:

@Page.ResolveUrl(room.Media("summaryImage","umbracoFile"))

或者

@VirtualPathUtility.ToAbsolute(room.Media("summaryImage","umbracoFile"))

您可能想阅读此 有关解析 URL 的不同方法的文章

I'm not sure whether there is a solution within Umbraco, I'd just use the .NET framework. With ASP.NET, you can use MapPath to resolve virtual paths to physical file paths:

@HttpContext.Current.Server.MapPath(room.Media("summaryImage","umbracoFile"))

EDIT:

If you are looking for the absolute URL, you may use one of the following variants:

@Page.ResolveUrl(room.Media("summaryImage","umbracoFile"))

or

@VirtualPathUtility.ToAbsolute(room.Media("summaryImage","umbracoFile"))

You may would like to read this article about different approaches for resolving URLs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文