如何使用 razor 获取 umbraco 中的绝对媒体文件路径?
我尝试了以下剃刀代码:
@room.Media("summaryImage","umbracoFile")
但我得到类似 ~/media/155/lux.jpg
的内容,如何删除最初的 ~
以获得服务器路径,即 /media/155/lux.jpg
或 http://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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定 Umbraco 内是否有解决方案,我只是使用 .NET 框架。使用 ASP.NET,您可以使用 MapPath 将虚拟路径解析为物理文件路径:
编辑:
如果您是寻找绝对 URL,您可以使用以下变体之一:
或者
您可能想阅读此 有关解析 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:
EDIT:
If you are looking for the absolute URL, you may use one of the following variants:
or
You may would like to read this article about different approaches for resolving URLs.