如何使用Laravel's filesytem (File Storage)方法存储base64图像?
例如,我可以像这样解码base64图像:
base64_decode($encoded_image);
但是所有Laravel的文件存储方法都可以接受Illuminate\Http\File
或Illuminate\Http\UploadedFile
实例。
所以我想我必须将base64图像(或解码的base64图像)转换为Illuminate\Http\File
或Illuminate\Http\UploadedFile
,但是如何?
答案 0 :(得分:1)
只需使用put
来存储编码后的内容:
Storage::put('file.jpg', $encoded_image);
它所做的只是包装file_put_contents
。
然后将其读出:
$data = base64_decode(Storage::get('file.jpg'));
您猜这是包裹file_get_contents
。
答案 1 :(得分:1)
您可以使用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));
希望对您有帮助