Single upload com AdonisJS
No artigo de hoje vamos entender como criar um upload com adonisJS de um único arquivo, e como podemos pegar o nome desse arquivo e salvar no nosso banco de dados.
Inicialmente vamos criar o nosso método onde vamos salvar os dados:
Dessa forma ja temos nosso método onde iremos salvar, os dados agora vamos implementar a parte de upload.
const images = request.file("imagem", {types: ["image"],size: "2mb"});
Inicialmente vamos pegar a imagem usando o request.file lembrando que nosso form deve ser um formulário multpart , dessa forma conseguimos mandar a imagem, caso contrario não irá funcionar.
No código acima falamos para adonis que o tipo será imagem , e o tamanho limitado a 2mb
const nameFile = `${new Date().getTime()}.${images.subtype}`;await images.move(Helpers.tmpPath("uploads"), {name: nameFile});
Agora nós vamos usar o Helpers para pegar o path temporário onde irá ficar nossas imagem, e vamos mover nossa imagem para lá.
Lembrando que podemos salvar a imagem mesmo se já existir uma com o mesmo nome, porém teríamos que substituir a existente, dessa forma ele gera um novo nome sempre baseado no time, assim não irá acontecer de ter imagens com o mesmo nome.
Caso der algum erro vamos retornar o erro.
if (!images.moved()) {return images.error();}
Para pegarmos o nome da imagem após o Upload usamos a seguinte forma.
const imagem = images.fileName;
Nosso método irá ficar da seguinte maneira.
gostou do artigo? participe do nosso canal no telegram.