我正在尝试将.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 ...
但我使用相同的代码很好地上传图片。
任何帮助?
答案 0 :(得分:0)
在web.config中添加这些行解决了我的问题 -
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>