recuperar imagem salva na pasta storage
Carlos, boa!, tudo blz?
Usando Laravel 8 com o pacote intervention/image, faço upload de uma imagem, salvo na pasta storage e preciso recuperar ela depois de salva, dentro da controller pra poder utilizar uma api. Não sei como obter esta imagem depois de salva, pode me ajudar?
segue o código abaixo:
if($request->file('image')){
// resize as save image with Intervention/Image
$nameFile = Str::kebab($request->file('image')->getClientOriginalName());
$image = Image::make($request->file('image'))->resize(800,600)->encode('jpg', 90);
Storage::put($nameFile, $image); // SALVA IMAGEM
aqui, preciso recuperar a imagem que está na pasta storage
// convert image to base64
$image = base64_encode(file_get_contents($request->file('image)));
// prepare request
$request = new AnnotateImageRequest();
$request->setImage($image);
$request->setFeature("TEXT_DETECTION");
$gcvRequest = new GoogleCloudVision([$request], env('GOOGLE_CLOUD_KEY'));
//send annotation request
$response = $gcvRequest->annotate();
return json_encode(["description" => $response->responses[0]->textAnnotations[0]->description]);
}
Olá, Albert!
Tudo bem, e com vc?
Quando faz isso: $request->file('image) está pegando o file da request
Primeiro vc pode armazenar:
$path = $request->file('image)->store('nomediretorio');
Aqui vc recupera:
storage_path($path)
Não deu certo.
ao tentar salvar com o $path = $request->file('image)->store('nomediretorio');
recebe o seguinte erro:
Command (Store) is not available for driver (Gd).
estava usando o Storage::put($nameFile, $image);
Tenta fazer assim:
if ($request->has('image')) {
$path = $request->image->store('nomediretorio');
}
(https://laravel.com/docs/9.x/requests#storing-uploaded-files)
Porque pode ser que image não tem nenhum valor, não foi valiado.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!