Single upload com AdonisJS

Alexandre E Souza
jslovers
Published in
2 min readSep 29, 2019

--

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.

--

--