为什么不工作在Laravel中的Ajax上传文件

时间:2019-08-03 15:34:41

标签: php jquery ajax laravel

我无法使用ajax格式将文件上传到laravel。

在控制器中,我得到:文件{},但是在$ _FILES中,我得到了具有大小的文件。

我以我的形式{{csrf_field()}}使用,编码

<form id="sent" method="POST" enctype="multipart/form-data">
        {{ csrf_field() }}
          <div class="form-group">
            <label for="message-text" class="col-form-label"></label>
            <textarea class="form-control" id="message-text"></textarea>
          </div>
          <div class="form-group">
            <input id="file_v" type="file" class="form-control-file border" name="filename">
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <a href="#" class="btn" data-dismiss="modal">Cancel</a>
        <input type="submit" name="upload" id="upload" class="btn" value="upload">

和ajax

$('#upload').click(function(event) {
        event.preventDefault();

        var mes = $('#message-text').val();
        var file = $("form input[type=file]").val();
        var formData = new FormData();
        formData.append('message', mes);

        formData.append( 'file', $("#file_v").prop('files')[0]);


            $.ajax({
                headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                url: '/sent',
                method:'POST',
                data: formData,
                contentType: false,
                cache: false,
                processData: false,
                success:function(data) {
                    console.log(data);
                },
                error:function(data){
                    alert("Get Error!");
                }
            });
    });

0 个答案:

没有答案