laravel 多文件上传

文件上传

前端代码:

<form action="{{route('user.document.uploads')}}" method="post" enctype="multipart/form-data">
  @csrf
  批量上传
  <input type="file" multiple class="form-control" name="files[]" title="批量上传" />
 <button type="submit" class="btn btn-dark">提交</button>
</form>

路由:

Route::post('user/up','AccountController@uploads')->name('user.document.uploads');

后端程序:

public function uploads(Request  $request)
    {
        $files = $request->file('files');
        if($request->hasFile('files'))
        {
            foreach ($files as $file) {
                $path = $file->store('files');
                $file = [
                    'path'    => 'storage/'.$path,
                    'file_name'    =>  $request->file('file')->getClientOriginalName(),
                    'extension'    =>  $file->extension(),
                    'size'    =>  $file->getSize(),
                    'user_id'   => $request->user()->id,
                    'ip_address'    => $request->getClientIp(),
                    'status'    => '0'
                ];
                $file = File::create($file);
            }
        }
        return response('files')->with('status','文件上传成功!');
    }

以上代码大概的实现了文件上传, 你可以用foreach里面的代码单独拿出来做成单文件上传,当然这里需要修改前端,如:

<form action="{{route('user.document.uploads')}}" method="post">
  @csrf
  批量上传
  <input type="file" class="form-control" name="file" title="批量上传" />
 <button type="submit" class="btn btn-dark">提交</button>
</form>

样视没那么好看,代码为主, 大概意思就是这样的。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

有个问题假如一批文件里面有部分文件没有上传成功,但是最后还是抛出文件上传成功,咋整

4年前 评论
Developer (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!