Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net MVC-大小超过10MB的视频不';不玩_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# asp.net MVC-大小超过10MB的视频不';不玩

C# asp.net MVC-大小超过10MB的视频不';不玩,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,如果我在web.config文件中使用上述代码,我可以上传大尺寸的视频,但视频根本无法播放。如果大小小于8 MB,视频将播放 我尝试了以下代码 <httpRuntime executionTimeout="3600" maxRequestLength="102400" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="1

如果我在web.config文件中使用上述代码,我可以上传大尺寸的视频,但视频根本无法播放。如果大小小于8 MB,视频将播放

我尝试了以下代码

 <httpRuntime 
executionTimeout="3600"
maxRequestLength="102400"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>

如果运行IIS7或更高版本,可能还必须增加maxAllowedContentLength,这基本上限制了发送到客户端的响应大小。它应该放在web.config文件中

这大约是1GB:

  <video width="100%" height="100%" controls autoplay>
  <source src="~/@Model.video_Path" type="video/mp4">
    </video>     

然后转到视频标记的源标记中的src属性 并使用@Url.Action()将视频的字节数组作为filecontentresult 像这样

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");
            }


        }
@foreach(模型中的变量项)
{
@if(item.Path!=null | | item.Name!=null)
{
@Html.DisplayFor(modelItem=>item.Name)
@**@ }
响应的状态码是什么?是413还是500或其他什么?在我的流媒体项目中,web.config中httpRuntime的条目看起来是:它甚至可以在视频标签中播放4GB文件。但我在IIS 8.5(Windows Server 2012 R2)上运行aps.net站点也许这取决于它感谢您的快速响应。我正在运行IIS7。在我的web.config文件中已经包含了上述代码。但我面临着相同的问题。例如:如果video test.mp4的大小为4MB,它将在浏览器上播放。如果视频大小超过12MB,它将不会播放视频。如果您尝试下载视频,而不是播放,会发生什么它?下载成功吗?如果成功,那么问题不在于服务器,而在于我认为的浏览器/视频播放器。当我尝试在简单的html文件中播放视频时,它正在播放。但在我的应用程序中,相同的视频没有播放。我的代码,但你能在应用程序中下载视频吗ion?我们需要知道,如果文件太大,服务器是否没有提供文件,或者只是玩家拒绝播放。
<video width="100%" height="100%" controls autoplay>
  <source src="~/@Model.video_Path" type="video/mp4">
    </video>
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");
            }


        }
 @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>
            }