laravel图片上传并保存在MongoDb数据库中

时间:2019-03-19 07:12:04

标签: mongodb laravel image file-upload eloquent

我正在laravel上传个人资料图片, 在我的add.blade.php文件中,我这样写

<div class="col-md-6">
  <div class="form-group">
    <label for="role">Profile Picture :<span class="danger">*</span> </label>
      <input type="file" class="form-control" id="file" name="file">
  </div>
</div>

在我的控制器文件中,我的功能是这样的

$this->validate($request, [
            'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
    ]);

    if($request->hasfile('filename'))
    {

        foreach($request->file('file') as $image)
        {
            $name=$image->getClientOriginalName();
            $image->move(public_path().'/images/', $name);
            $data[] = $name;
        }
    }

如何上传图像并将其保存在MongoDb数据库中?

1 个答案:

答案 0 :(得分:2)

如果您要上传多张图片,则可以尝试执行以下代码:

在您的刀片服务器中:

<div class="col-md-6">
  <div class="form-group">
    <label for="role">Profile Picture :<span class="danger">*</span> </label>
      <input type="file" class="form-control" id="file" name="file[]" multiple>
  </div>
</div>

在您的控制器中:

$images = $request->file('file');

foreach ($images as $key => $image) {

   if ($request->hasFile('file') && $request->file('file')[$key]->isValid()) {
       $path = $request->file[$key]->store('public/images');
       $path = basename($path);

       $image = new Images();
       $image->photo = $path;
       $image->save();
   }
}