繁体   English   中英

将 Json object 插入 MongoDB 从 Laravel 7

[英]Insert a Json object in MongoDB from Laravel 7

我需要将图像上传到 Google 存储并在 MongoDB 中插入下面的 JSON object 和 gcs 图像路径。

图像已成功上传到 GCS,但我无法获取图像的图像 url,也无法更新 mongoDB 中的路径。

JSON object 格式

{

 "original": "/pictures/1620305924456-74535-605b8a97a02cf2c1",

 "thumbnail": "/pictures/1620305924456-74535-605b8a97a02cf2c1",

 "fileType": "image"

}

谁能帮我实现这个逻辑。

public function store(Request $request)
{
    request()->validate([
        'name' => 'required',
        'imageUrl' => 'required|image|mimes:jpeg,png,jpg|max:2048',
        
    ]);
    
      $disk = Storage::disk('gcs');
      $imagePath = $request->file('imageUrl');
      $imageName = $imagePath->getClientOriginalName();
      $disk->put('pictures', $request->file('imageUrl'));
   
      $player->name ='test';
      $player->imageUrl = [
        'original' => '/pictures/nScT0KD7LoQucnfoFBLFfNAw9pmdfPnvtyC0VHq6.jpg',
        'thumbnail' => '/pictures/nScT0KD7LoQucnfoFBLFfNAw9pmdfPnvtyC0VHq6.jpg',
        'fileType'=> 'image'
      ];

    Appreciation::create($player);

    return redirect()->route('appreciation.index')
                    ->with('success','Record created successfully.');
}

提前致谢

最后我使用下面的代码修复了它。

 request()->validate([
        'name' => 'required',
        'imageUrl' => 'required|image|mimes:jpeg,png,jpg|max:2048',
        
    ]);

    $appreciation = new Appreciation();

   
    $appreciation->name = $request->get('name');
    $imagePath = $request->file('imageUrl');
    $imageName = $imagePath->getClientOriginalName();


   
    $disk = Storage::disk('gcs');
    $url = $disk->url('/pictures/'.$imageName);
   $disk->putFileAs('/pictures/', $request->file('imageUrl'), $imageName);

     $data = [
            'original' =>'/pictures/'.$imageName,
            'thumbnail' => '/pictures/'.$imageName,
            'fileType'=> 'image'
          ];
    $appreciation->imageUrl = $data;
  
    $appreciation->save();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM