2
respostas

Upload de Imagem.

Boa tarde. Se eu quisesse realizar um Upload de imagem para cada produto ( No caso, no cadastro do produto eu teria um campo upload (Faria um upload de uma imagem para aquele produto) e após salvar o mesmo ou o seu caminho no banco retornaria esta imagem na listagem de produtos. Poderiam me ajudar ?

2 respostas

Se eu entendi bem seria isto, não testei todo o código mais deve funcionar !

// arquivo de rotas
Route::post('/image' , 'ImageController@uploadImage')->name('upload.image');

// formulario na view
<form action="{{ route('upload.image') }}" method="post" enctype="multipart/form-data">
                          {{ csrf_field() }}

                          <input type="file" name="image" />
                          <button type="submit">Envia</button>
                     </form>

// para visualizar depois de salvo
<img src={{ asset('imagens/file.jpg') }} >


// arquivo de controller 
                      public function uploadImage(Request $request){

                          // validação de imagem

                        $this->validate($request, [
                        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
                        ]);

                        $image = false;

                        $image = $request->file('image');

                        $input['imagename'] = time().'.'.$image->getClientOriginalExtension();


                        // pasta de imagens
                        $destinationPath = public_path('/imagens');

                        $image->move($destinationPath, $input['imagename']); 

                    $this->registraBanco($input['imagename'] );

                        return back()->with('success','Image Upload successful');
                    }


// inserção no banco de dados
                    public function registraBanco($file){

                        DB::table('tabela')->insert(
                            ['image' => $file]
                        );

                    }

Bom dia Jefferson, primeiramente gostaria de agradecer sua disponibilidade por me ajudar, porém este código não deu certo para o que eu precisava. Acho que não fui muito claro nas minhas necessidade. Vou tentar explicar de uma forma mais completa para que possam me ajudar.

O que eu preciso. R: Ao adicionar o produto no meu formulário, eu colocaria, nome, descrição, preço e daria upload de uma imagem. Está imagem seria salva no banco de dados ( ela ou o caminho dela ), mas que cada imagem tenha o seu produto específico. Exemplo: vou adicionar um produto, add suco de laranja, descrição suco natural, preço 10 reais e faço upload de uma imagem de um copo de suco, clico em adicionar e tudo isso vai para a minha tabela produtos. Lá na minha listagem de produtos eu preciso que essa imagem aeja traga para apenas aquele Produto e assim por diante.

Então seria essa sequência.

1 cadastrar produto e junto o upload da imagem.

2 retornar este produto com a imagem na listagem de produtos. Importante cada imagem deve estar vinculado ao id de cada produto para que ela seja específica para apenas 1 produto.

Espero ter explicado melhor agora rs, por favor me salvem.