arquivo uploadDeArquivos.js
const fs = require('fs')
const path = require('path')
module.exports = (caminho, nomeDoArquivo, callbackImagemCriada) =>
{
const tiposValidos = ['jpg', 'png', 'jpeg']
const tipo = path.extname(caminho)
const tipoEhValido = tiposValidos.indexOf(tipo.substring(1)) !==1
if(tipoEhValido){
const erro = 'Tipo é inválido'
console.log('Erro! Tipo inválido')
callbackImagemCriada(erro)
} else {
const novoCaminho = `./assets/imagens/${nomeDoArquivo}${tipo}`
fs.createReadStream(caminho)
.pipe(fs.createWriteStream(novoCaminho))
.on('finish', () => callbackImagemCriada(false, novoCaminho))
}
}
arquivo pets.js
const conexao = require('../infraestrutura/conexao')
const uploadDeArquivo = require('../arquivos/uploadDeArquivos')
class Pet {
adiciona(pet, res) {
const query = 'INSERT INTO Pets SET ?'
//
uploadDeArquivo(pet.imagem, pet.nome, (erro, novoCaminho) => {
if(erro){
res.status(400).json({erro})
} else{
const novoPet = {nome: pet.nome, imagem: novoCaminho}
conexao.query(query, novoPet, erro => {
if(erro) {
console.log(erro)
res.status(400).json(erro)
} else {
res.status(200).json(novoPet)
}
})
}
})
}
} module.exports = new Pet()