Advertisement
Guest User

Untitled

a guest
Dec 31st, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.30 KB | None | 0 0
  1.  public function store(StoreUpdateProductFormRequest $request)
  2.     {
  3.    
  4.         $produto = $this->produto->create($request->except('imagem'));
  5.  
  6.         if($request->hasFile('imagem') && $request->file('imagem')->isValid()) {
  7.            
  8.          
  9.             $nome = $produto->id;
  10.            
  11.             $extensao = $request->imagem->extension(); // pega o tipo da extensão
  12.            
  13.             $nomeArquivo = "imagem_{$nome}.{$extensao}"; // cria um novo nome pro arquivo
  14.            
  15.             $request->imagem->storeAs('produtos', $nomeArquivo);
  16.            
  17.             $produto['imagem'] = $nomeArquivo; // salva na colula imagem o nome do arquivo
  18.            
  19.  
  20.             if(!$request->imagem) {
  21.                 return response()->json(['error' => 'Falha no upload'], 500);
  22.             }
  23.          
  24.             $produto->save();
  25.         }
  26.  
  27.         return response()->json($produto, 201);
  28.     }
  29.  
  30. public function update(StoreUpdateProductFormRequest $request, $id)
  31.     {  
  32.         $produto = $this->produto->find($id);
  33.  
  34.         $dados = $request->all();
  35.  
  36.         if($request->hasFile('imagem') && $request->file('imagem')->isValid()) {
  37.  
  38.             //verifica antes se já há um arquivo com mesmo nome, caso sim, é deletado
  39.             //assim se evita possiveis conflitos caso a imagem tenha nome diferente
  40.             if($produto->imagem) {
  41.                 if(Storage::exists("produtos/{$produto->imagem}")) {
  42.                    Storage::delete("produtos/{$produto->imagem}");
  43.                 }
  44.             }
  45.  
  46.             $nome = $produto->id;
  47.            
  48.             $extensao = $request->imagem->extension(); // pega o tipo da extensão
  49.            
  50.             $nomeArquivo = "imagem_{$nome}.{$extensao}"; // cria um n nome pro arquivo
  51.            
  52.             $dados['imagem'] = $nomeArquivo; // salva na colula imagem o nome do arquivo
  53.            
  54.             $upload =  $request->imagem->storeAs('produtos', $nomeArquivo);
  55.            
  56.             if(!$upload) {
  57.                 return response()->json(['error' => 'Falha no upload'], 500);
  58.             }
  59.  
  60.         }
  61.  
  62.         if(!$produto) {
  63.             return response()->json(['error' => 'Nao encontrado'], 404);
  64.         }
  65.  
  66.         $produto->update($dados);
  67.  
  68.         return response()->json($produto);
  69.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement