【发布时间】:2020-01-19 00:24:32
【问题描述】:
如何使用干预图像和 laravel 存储将 Base64 值转换为 Image PNG?
public function userLogout(Request $request) {
$data = $request->all();
if ($request->isMethod('post')) {
$poster = explode(";base64", $request->picture);
$image_type = explode("image/", $poster[0]);
$mime_type = '.'.$image_type[1];
$image_base = base64_decode($poster[1]);
$data['picture'] = Storage::disk('player-images')->put($image_base, file_get_contents($poster));
$path = public_path('storage/player-images/'.$image_base);
Image::make($poster)->save($path);
$data['picture'] = 'player-images/' . $image_base;
User::where('name', Auth::user()->name)->update($data);
}
return view('gallery');
}
我收到一条错误消息:
“file_get_contents() 期望参数 1 是有效路径,给定数组”
这是我的 ajax 函数
var canvas = document.getElementById('canvas');
var dataUrl = canvas.toDataURL('image/png');
$(document).ready(function(){
$('#save').click(function(e){
e.preventDefault();
$.ajax({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf_token"]').attr('content')},
type: "POST",
url: "/gallery",
data: {
picture: dataUrl,
}
}).done(function(o) {
console.log("saved");
});
});
});
如何将 base64 值保存到数据库,如 player-images/blabla.png 并将图像存储到路径 public/storage/player-images/
对不起,我的英语不好。 谢谢。
【问题讨论】:
-
将
base64()数据存入数据库,并将文件保存到文件夹,是不是多余? -
我将数据类型更改为文本。但我希望它存储在数据库中,而不是 base64,而是链接存储,如 player-images/(value).png
标签: php laravel intervention