Laravelのファイルシステム(ファイルストレージ) メソッドを使用してbase64イメージを保存する方法
たとえば、base64イメージを次のようにデコードできます。
base64_decode($encoded_image);
しかし、ファイルを保存するためのLaravelのすべてのメソッドは、Illuminate\Http\File
またはIlluminate\Http\UploadedFile
インスタンスのいずれかを受け入れることができます。
そのため、base64イメージ(またはデコードされたbase64イメージ)をIlluminate\Http\File
またはIlluminate\Http\UploadedFile
に変換する必要があると思いますが、どうやって?
put
を使用して、エンコードされたコンテンツを保存します。
Storage::put('file.jpg', $encoded_image);
file_put_contents
をラップするだけです。
次にそれを読み戻すには:
$data = base64_decode(Storage::get('file.jpg'));
あなたが推測するように、これはfile_get_contents
をラップしています。
このようにlaravel File Storageを使用してbase64イメージをアップロードできます
$base64_image = $request->input('base64_image'); // your base64 encoded
@list($type, $file_data) = explode(';', $base64_image);
@list(, $file_data) = explode(',', $file_data);
$imageName = str_random(10).'.'.'png';
Storage::disk('local')->put($imageName, base64_decode($file_data));
それがあなたを助けることを願っています