[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Marcos Birro Calixto
Criador Marcos Birro Calixto 01/04/2021

Carlos, boa tarde.

Oproblema está no store de produto da aplicação 

Acredito estar tudo ok mas a imagem não faz o upload. Fiz vários testes e não consigo achar o problema!

Eu subi meu projeto agra para o github com o problema que estou tendo para, se for necessário, você verificar ok?

https://github.com/marcosbirrocalixto/helper81

Você tem acesso

https://github.com/marcosbirrocalixto/helper81/invitations

Pode me ajudar?

Obrigado,

 

Criador Marcos Birro Calixto 01/04/2021

Mesmo fazendo assim:

$data['image'] = $request->image->store("tenants/{$tenant->uuid}/products");

A imagem gravada no banco é só o nome da imagem: pizza.jpg e não faz o upload.

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/04/2021

Bom fiz outro teste e acho que achei mas não sei como resolver!

Coloquei isso:

        if ($request->hasFile('image') && $request->image->isValid()) {

            $data['image'] = $request->image->store($data['image']);

        } else {

            dd($data);

        }

E está entrando no dd($data). A imagem não é válida mas está dando para todos que coloco e é só uma imagem.jpg ou imagem.png que peguei na net.

Marcos Birro Calixto
Manager Carlos Ferreira 01/04/2021

Olá, Marcos!
Tudo bem?

O método store não precisa receber o file de upload, mas sim o path:
$request->image->store('caminho/que/vai/ficar');

Carlos Ferreira
Criador Marcos Birro Calixto 01/04/2021

Carlos, bom dia.

Não estou entendo. Tem um problema nas rules

Se mando inserir diz que a imagem é requerida

Se mando alterar faz o upload e mostra no index

        $rules = [

            'title' => ['required', 'min:3', 'max:255', "unique:produtos,title,{$id},id"],

            'description' => ['required', 'min:3', 'max:500'],

            'image' => ['required', 'image'],

            'price' => "required|regex:/^\d+(\.\d{1,2})?$/",

        ];

 

        if ($this->method() == 'PUT') {

            $rules['image'] = ['nullable', 'image'];

        }

 

     public function store(StoreUpdateProdutoRequest $request)

    {

        $data = $request->all();

 

        $tenant = auth()->user()->tenant;

 

        if ($request->hasFile('image') && $request->image->isValid()) {

            $data['image'] = $request->image->store("tenants/{$tenant->uuid}/produtos");

        }

 

        $this->repository->create($data);

 

        return redirect()->route('produtos.index');

    }

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/04/2021

Alias, se mando inserir diz The image must be an image.

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/04/2021

Limpei o cache e agora nem o update vai!!!!! Muito estranho.

The image must be an image.

PEguei imagem de sanduiche e piza png e jpg da web.

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/04/2021

Está muito dooido. Depois de um rempo ele começa a fazer o upload no update. Será que é meu ambiente? Estou usando docker. Vou colocar no server para ver se para.

Estou observando que as vezs tenho que ficar limpando cache. Até coloquei uma rota para limpar os caches.

Marcos Birro Calixto
Manager Carlos Ferreira 01/04/2021

Marcos, fui acessar aqui e está com erro 404 o código no GitHub: https://imgur.com/a/cNziDHr

No seu formulário tem o atributo enctype?
<form action="{{ route('nome.rota') }}" method="post" enctype="multipart/form-data">
[...]
</form>

Carlos Ferreira
Criador Marcos Birro Calixto 01/04/2021

Nossa!!!

Que vacilo. Valeu. era isso mesmo!!!!!

Marcos Birro Calixto
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!