.pdf / mp4从JQuery-AJAX上传到MVC控制器方法

时间:2015-02-07 12:13:58

标签: jquery ajax asp.net-mvc file-upload

我正在尝试将.pdf / .mp4文件从JQuery-AJAX发送到mvc控制器。这是我的代码 -

    //JQuery-AJAX
    $('#fileUpload').change(function (e) {
    var file = e.target.files[0];
    fd.append("photos",  file);
    fd.append("CourseId", courseid);
    fd.append("LessonId", lessonid);      
    $.ajax({
        url: '/Admin/Course/SaveFile',
        type: 'POST',
        data: fd,
        cache: false,
        contentType: false,
        processData: false,
        success: handler,
        error: handler
     });
 });

  //server-side
  public JsonResult SaveFile(IEnumerable<HttpPostedFileBase> photos, FormCollection data)
  {
     var courseId = data["CourseId"].ToString());
     .....
     foreach (var file in photos)
     {
        file.SaveAs(somePath);
     }
     ....
  }

但是如果contentType: false请求不会转到控制器方法。

contentType: "multipart/form-data"时,它会触发控制器方法,但data["CourseId"]会抛出异常object reference not set ...

但我使用相同的代码很好地上传图片。

任何帮助?

1 个答案:

答案 0 :(得分:0)

在web.config中添加这些行解决了我的问题 -

<system.webServer>
  <security>
    <requestFiltering>
       <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering>
  </security>
</system.webServer>