3
respostas

Como passa uma imagem com default que não entre na condição if de deletar laravel5.2?

Esse e o método que estou utilizando para fazer upload de imagem esta tudo funcionando o meu único problema e duvida e em como manter a imagem (default.jpg )pois a minha condição if para deletar sempre deleta a imagem antiga mais não quero que delete quando for a imagem (default.jpg )alguém pode ajudar?

public function update_avatar(Request $request){

        if($request->hasFile('avatar')){
            $user            = Auth::user();
            $old_avatar      = $user->avatar;
            $file            = $request->file('avatar');
            $filename        = time() . '.' . $file->getClientOriginalExtension();
            $old_file_avatar = $old_avatar  . '.' . $file->getClientOriginalExtension();
            $image           = Image::make($file);

            $image->fit(250, 250, function ($constraint) {
                $constraint->aspectRatio();
            });

            Storage::put($filename, (string) $image->encode());

            $user->avatar = $filename;
            $user->save();
        }
        //delete image
        if (Auth::user() !== $filename) {
            Storage::delete($old_avatar);
        }
        return redirect('profile');
    }

    public function getUserImage()
    {
        $user        = Auth::user();
        $old_avatar  = $user->avatar;
        $file        = Storage::disk('local')->get($old_avatar);
        return Response::make($file,200,[ 'Content-Type' => $old_avatar]);

    }
3 respostas

Oi Ronnyere, tudo bom?

Tenta verificar se o $filename não é o default.jpg

if (Auth::user() !== $filename && $filename !== "default.jpg") {
            Storage::delete($old_avatar);
        }

A string "default.jpg" é só um exemplo, talvez você precise adicionar o diretorio todo =)

Qualquer problema é só falar.

Abraço!

Obrigado! vou testar aqui

Oi Ronnyere, funcionou? Atualiza aqui pra gente saber =)

Abraço.