Advertisement
cesarnascimento

Untitled

Jun 15th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Post = require('../models/Post');
  2. const sharp = require('sharp');//para redimensionar as imagens
  3. const path = require('path');//ja vem com o node
  4. const fs = require('fs');//ja vem com o node
  5.  
  6. module.exports = {
  7.     async index(req, res) {//listagem
  8.         const posts = await Post.find().sort('-createdAt');//esse menos é pra pegar ordem decrescente
  9.  
  10.         return res.json(posts);
  11.     },
  12.  
  13.     async store(req, res) {//criar
  14.         const { author, place, description, hashtags } = req.body;
  15.         const { filename: image } = req.file;//a imagem em si
  16.  
  17.         const [name] = image.split('.');//separa a img em 2 variaveis, em name antes od ponto e ext depois do ponto
  18.         const fileName = `${name}.jpg`;
  19.  
  20.         await sharp(req.file.path)//parametros extras para a imagem
  21.             .resize(500)
  22.             .jpeg({ quality: 70 })
  23.             .toFile(
  24.                 path.resolve(req.file.destination, 'resized', fileName)//resolve está jogando as imagens para a pasta resized
  25.             )
  26.        
  27.             fs.unlinkSync(req.file.path);//deleta a imagem que n foi redimensionada
  28.  
  29.         const post = await Post.create({
  30.             author,
  31.             place,
  32.             description,
  33.             hashtags,
  34.             fileName
  35.         });
  36.  
  37.         req.io.emit('post', post);
  38.  
  39.         console.log(req.file);
  40.         return res.json(post);
  41.     }
  42. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement