Asp.net mvc 4 Umbraco V7xx将HTML5视频插入网页

Asp.net mvc 4 Umbraco V7xx将HTML5视频插入网页,asp.net-mvc-4,html5-video,umbraco,umbraco7,Asp.net Mvc 4,Html5 Video,Umbraco,Umbraco7,因此,我在umbraco中创建了一个文档类型,并为我的视频部分创建了相应的模板,我希望它能够管理内容,而不希望从youtube或类似网站嵌入。我已经在webconfig中更改了umbraco的上载限制,并使用媒体选择器在媒体部分上载了视频。我现在的问题是如何从该媒体获取它并将其显示在我的主页上。我的部分视图中有这段代码,这是针对该部分的,但它不会在页面上显示任何内容,也不会在控制台上显示任何错误: 编辑:我尝试了一种新方法,它给了我以下错误: 对象引用未设置为对象的实例。 (只要我删除“.Url

因此,我在umbraco中创建了一个文档类型,并为我的视频部分创建了相应的模板,我希望它能够管理内容,而不希望从youtube或类似网站嵌入。我已经在webconfig中更改了umbraco的上载限制,并使用媒体选择器在媒体部分上载了视频。我现在的问题是如何从该媒体获取它并将其显示在我的主页上。我的部分视图中有这段代码,这是针对该部分的,但它不会在页面上显示任何内容,也不会在控制台上显示任何错误:

编辑:我尝试了一种新方法,它给了我以下错误: 对象引用未设置为对象的实例。 (只要我删除“.Url”,页面就会工作,但不会加载媒体中视频的路径!:(

@继承Umbraco.Web.Mvc.UmbracoTemplatePage
@Umbraco.字段(“sowifiTitle”,convertLineBreaks:true)
@{
var videoId=Model.Content.GetPropertyValue(“sowifiVideo”);
var videoUrl=Umbraco.Media(videoId).Url;
} 

您自己尝试过修复什么?您可以检查生成的HTML代码吗?您尝试过调试吗?您是否获得了正确的mediaFolderId?您是否确实在内容上选择了媒体文件夹?然后在.Children()集合中获得了什么类型的对象

您没有在循环中使用“video”变量,而是请求当前页面的属性

src="@video.Url"
而不是整个Model.Content的东西,但从你的问题来看,它是否真的有效还很不清楚:-/

编辑:您应该能够执行以下操作以获取单个媒体URL:

var videoId = Model.Content.GetPropertyValue<int>("sowifiVideo");
var videoUrl = Umbraco.Media(videoId).Url;
var videoId=Model.Content.GetPropertyValue(“sowifiVideo”);
var videoUrl=Umbraco.Media(videoId).Url;
然后

<source src="@videoUrl" type="video/mp4" />


当你制作图像并使用GetCropUrl(…)时,有趣的是,该函数会为你获取URL。对于任何其他类型的媒体文件,你都必须自己完成。

最终解决了,将在这里发布代码,以防其他人将来遇到类似问题。(thx再次向Jannik求助,帮助我朝正确的方向前进)

@{
var videoId=Model.Content.GetPropertyValue(“sowifiVideo”);
foreach(videoId中的变量项)
{
}
}

在codeshare.uk上的教程之后,我现在尝试了一种新的方法,但它现在因为这个错误完全破坏了我的页面。第一篇文章编辑。好的。那么现在循环消失了?Model.Content.GetPropertyValue(“sowifiVideo”)将尝试返回IPPublishedContent对象,但如果您只是在Umbraco中拾取了一个媒体项,则该属性将不会神奇地保存视频“对象”。它很可能只是一个媒体ID。我将更新我的答案。我使用了相同的“Model.Content”对于图像,我已经在媒体部分上传了图像,并获取了它们的ID并将它们发布到网页上,还使用.getcropur对它们进行了大小调整……为什么同样的事情不适用于同样上传到umbraco媒体部分的视频?对不起,我对umbraco和几乎所有内容都是新手。当我删除“.Url”时从Model.Content中,网页通常加载视频窗口,其中显示:“未找到支持格式和MIME类型的视频”…答案已更新。这与使用图像的过程相同,尽管图像中内置了许多辅助方法。希望这次我们能获得它!感谢您的帮助并使我更好地理解这一点,尽管它还不起作用,您能告诉我如何在新文章的第一篇文章中在我的代码上实现这一点吗?
<source src="@videoUrl" type="video/mp4" />
            @{
                var videoId = Model.Content.GetPropertyValue<IEnumerable<IPublishedContent>>("sowifiVideo");
                foreach (var item in videoId)
                {
                    <video controls width="850" height="450">
                        <source src="@item.Url" type="video/mp4" />
                    </video>
                }
             }