public function store(Request $request)
{
try {
$request->validate([
'img_url' => 'nullable|mimes:jpg,jpeg,gif,webp,png',
'name' => 'required',
'content' => 'required'
]);
$image = $request->file('img_url'); //image file from frontend
$img = app('firebase.firestore')->database()->collection('images')->document('defT5uT7SDu9K5RFtIdl');
$firebase_storage_path = 'images/';
$name = $img->id();
$localfolder = public_path('firebase-temp-uploads') .'/';
$extension = $image->getClientOriginalExtension();
$file = $name. '.' . $extension;
if ($image->move($localfolder, $file)) {
$uploadedfile = fopen($localfolder.$file, 'r');
app('firebase.storage')->getBucket()->upload($uploadedfile, ['name' => $firebase_storage_path . $name]);
//will remove from local laravel folder
unlink($localfolder . $file);
Session::flash('success', 'Image uploaded successfully.');
} else {
Session::flash('error', 'Image uploaded successfully.');
}
$firebaseStorage = app('firebase.storage');
// Get reference to uploaded file
$fileRef = $firebaseStorage->getBucket()->object($name);
// Get public download URL
$imageUrl = $fileRef->signedUrl();
Testimony::create([
'img_url' => $imageUrl,
'name' => $request->title,
'content' => $request->content
]);
return redirect()->back()->with('success', 'Resource created.');
} catch (\Throwable $th) {
return redirect()->back()->with('error', 'Internal server error.' . $th->getMessage());
}
}
I want to post an image to firebase storage and text to mysql database
I get the error
Target class [firebase.firestore] does not exist.