无法在laravel中读取使用ajax的formdata中的文件

无法在laravel中读取使用ajax的formdata中的文件,ajax,laravel,Ajax,Laravel,如何在laravel中从formData打开文件?我试过了,但失败了 $(".lecture").click(function(e){ e.preventDefault(); var form = new FormData(); form.append("file", $("#upload_file")[0].files[0]); var data = { courses_id : cou

如何在laravel中从formData打开文件?我试过了,但失败了

$(".lecture").click(function(e){
    e.preventDefault();
    var form = new FormData();
    form.append("file", $("#upload_file")[0].files[0]);
    var data = {
        courses_id : courses_id,
        content_id : content_id,
        lecture_title : $('#lecture_title').val(),
        video_duration : $('#video_duration').val(),
        video_url : $('#video_url').val(),
        total_page: $('#total_page').val(),
        file: form,
        lectur_description : $('input[name="lectur_description"]').val(),
    };
    $.ajax({
            type:'POST',
            url:"{{route('studio.courses.lectures.store')}}",
            data: data,
            contentType: false,
            processData: false,
    });
});

如果您使用formdata作为json的值,请使用formdata来上载文件和其他数据,而不是json:

$(".lecture").click(function (e) {
    e.preventDefault();
    var form = new FormData();
    form.append("file", $("#upload_file")[0].files[0]);
    var data = {
        courses_id: courses_id,
        content_id: content_id,
        lecture_title: $('#lecture_title').val(),
        video_duration: $('#video_duration').val(),
        video_url: $('#video_url').val(),
        total_page: $('#total_page').val(),
        lectur_description: $('input[name="lectur_description"]').val(),
    };
    for (let key in data) {
        form.append(key, data[key]);
    }

    $.ajax({
        type: 'POST',
        url: "{{route('studio.courses.lectures.store')}}",
        data: form,
        contentType: false,
        processData: false,
    });
});

还要添加表单标记