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

发布于 2022-09-06 11:37:16 字数 1504 浏览 26 评论 0

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()无法获取是怎么回事?求解?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文