Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function store(StoreUpdateProductFormRequest $request)
- {
- $produto = $this->produto->create($request->except('imagem'));
- if($request->hasFile('imagem') && $request->file('imagem')->isValid()) {
- $nome = $produto->id;
- $extensao = $request->imagem->extension(); // pega o tipo da extensão
- $nomeArquivo = "imagem_{$nome}.{$extensao}"; // cria um novo nome pro arquivo
- $request->imagem->storeAs('produtos', $nomeArquivo);
- $produto['imagem'] = $nomeArquivo; // salva na colula imagem o nome do arquivo
- if(!$request->imagem) {
- return response()->json(['error' => 'Falha no upload'], 500);
- }
- $produto->save();
- }
- return response()->json($produto, 201);
- }
- public function update(StoreUpdateProductFormRequest $request, $id)
- {
- $produto = $this->produto->find($id);
- $dados = $request->all();
- if($request->hasFile('imagem') && $request->file('imagem')->isValid()) {
- //verifica antes se já há um arquivo com mesmo nome, caso sim, é deletado
- //assim se evita possiveis conflitos caso a imagem tenha nome diferente
- if($produto->imagem) {
- if(Storage::exists("produtos/{$produto->imagem}")) {
- Storage::delete("produtos/{$produto->imagem}");
- }
- }
- $nome = $produto->id;
- $extensao = $request->imagem->extension(); // pega o tipo da extensão
- $nomeArquivo = "imagem_{$nome}.{$extensao}"; // cria um n nome pro arquivo
- $dados['imagem'] = $nomeArquivo; // salva na colula imagem o nome do arquivo
- $upload = $request->imagem->storeAs('produtos', $nomeArquivo);
- if(!$upload) {
- return response()->json(['error' => 'Falha no upload'], 500);
- }
- }
- if(!$produto) {
- return response()->json(['error' => 'Nao encontrado'], 404);
- }
- $produto->update($dados);
- return response()->json($produto);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement