laravel5.5利用 Ajax FormData提交图片文件时接收不到?

1、代码如下:
表单代码:

<form class="form-horizontal" enctype="multipart/form-data" method="" action="">
      {{ csrf_field() }}
      
<input type="file" class="form-control" id="uploadimg" name="awardimg" multiple />

js代码:


var allFiles = document.querySelector("#uploadimg").files;
          // 实例化表单数据对象
          var formData = new FormData();
          // 遍历图片文件列表并插入至表单中
          for (var i=0,file;file = allFiles[i];i++) {
              // 包含文件名称和文件对象
              formData.append(file.name,file);
          }
          console.log(formData);
          // ajax请求,向数据库进行信息提交
          $.ajaxSetup ({
                     headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
            });

          $.ajax({
              url: "{{ url('/admin/upload/uploadaward')}}",
              type: 'post',
              data: formData,
              processData: false,
              contentType: false,
              success: function(res) {

              }
          });

后端:

    // 上传获奖信息
    public function uploadAward(Request $request) {
        dd($request->file('awardimg'));
        $files = $request->allFiles(); // 获取上传的所有文件

clipboard.png

使用allFiles()可以接收到,但是使用file()无法获取是怎么回事?求解?

阅读 2.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进