You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
 
 
 
 

31 lines
931 B

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Image;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Storage;
class ImageController extends Controller
{
public function store(Request $request)
{
$validator = Validator::make($request->all(), ["image" => "required"]);
if ($validator->fails()) return response($validator->messages(), 400);
$path = $request->file("image")->hashName();
$request->file('image')->store("public/images");
return response(Image::create([
"url" => $path
]));
}
public function destroy(Request $request)
{
$image = Image::find($request->id);
if (!$image) return response(["message" => "Image not found"], 404);
Storage::disk('local')->delete("public/images/". $image->url);
$image->destroy();
return response([]);
}
}