通过ajax将mp4上传到mvc控制器失败

时间:2017-10-10 23:24:04

标签: jquery ajax asp.net-mvc html5 video

我正在将mp4上传到我的mvc控制器,但Ajax会返回此错误:"错误错误未找到未定义" 我的观点

<form id="CrearRecurso">
<div class="container">      
    <div class="form-group">
        @Html.LabelFor(m => m.Imagen)
        @Html.TextBoxFor(m => m.Imagen, new { type = "file", name = "Imagen" })
        @Html.ValidationMessageFor(m => m.Imagen)
    </div>
    <button id="submiter" type="submit" class="btn btn-primary">Crear recurso!</button>
</div>

这是我的ajax部分,我称之为API。但是我收到一个错误,你会在下面看到错误。

$('#CrearRecurso').submit(function (e) {              
            var formData = new FormData($('#CrearRecurso').get(0));
            jQuery.support.cors = true;
            var files = $("#Imagen").get(0).files;
            var name = files.name;
            if (files.length > 0) { //checks if there is a file 

                if (window.FormData !== undefined) {
                    $.ajax({
                        type: "post",
                        url: '/api/mycontroller/Create?MyId=' + LeccionId,
                        contentType: false,
                        processData: false,
                        data: formData,
                        success: function (result) {
                            //do something 

                        },
                    error: function (ts) { alert(ts.responseText) }
                    });
                }
                }
            }
        });
    });

当我上传pdf或jpg时没关系,但是当我使用mp4文件时,我在警报中收到此错误。 error I get when uploading mp4 files

与文件上传相关的模型如下:

 [Required]
    [DataType(DataType.Upload)]
    public HttpPostedFileBase Imagen { get; set; }

为什么会这样?谢谢。

更新1:我的文件大小约为50mb。它可能与问题有关吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我可以看到我想要上传的文件的长度大于4mb,我要做的就是更改web.config以允许api请求。

请参阅此答案:Dealing with large files in asp.Net API