<httpRuntime
executionTimeout="3600"
maxRequestLength="102400"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>
如果我在web.config文件中使用上面的代码,我可以上传大尺寸视频,但视频根本无法播放。如果大小小于8 MB,则播放视频。
我尝试过以下代码。
<video width="100%" height="100%" controls autoplay>
<source src="~/@Model.video_Path" type="video/mp4">
</video>
答案 0 :(得分:0)
如果您运行的是IIS7或更高版本,则可能还需要增加maxAllowedContentLength,这基本上会限制发送到客户端的响应的大小。它应该放在你的web.config文件中。
这大约是1GB:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
答案 1 :(得分:0)
<video width="100%" height="100%" controls autoplay>
<source src="~/@Model.video_Path" type="video/mp4">
</video>
这部分可能引起问题,不建议使用 您可以简单地将视频作为字节数组发送到视频标签中源中的src标签
转到控制器并像这样创建方法
public ActionResult MyAction(string FilePath)
{
try
{
FilePath = Path.Combine(Server.MapPath("~/Uploads/Videos/") + FilePath);
byte[] myVideo = System.IO.File.ReadAllBytes(FilePath);
return new FileContentResult(myVideo, "video/mp4");
}
catch (Exception)
{
return View("_NotFoundVideo");
}
}
然后转到视频标签中源标签中的src属性 并使用@ Url.Action()来获取视频的字节数组作为filecontentresult 像这样
@foreach (var item in Model)
{
<tr>
@if (item.Path != null || item.Name != null)
{
<td>
<h5> @Html.DisplayFor(modelItem => item.Name)</h5> <br />
<video style="width:900px; height:300px;" controls>
@*<source src="~/UpLoads/Videos/@item.Path" type="video/mp4" />*@
<source src="@Url.Action("MyAction", "Blobs", new { FilePath =item.Path })" type="video/mp4" />
<h1 class="glyphicon glyphicon-arrow-down"></h1>
</video>
</td>
}