Added resize lib
This commit is contained in:
parent
b3dc18e57d
commit
405d908a09
5 changed files with 725 additions and 35 deletions
|
@ -4,6 +4,7 @@ const Vegetables = require('./Vegetables')
|
|||
const path = require('path')
|
||||
const fs = require('fs')
|
||||
const Aws = require('../libs/aws')
|
||||
const Resize = require('../libs/resize')
|
||||
const uuid = require('uuid/v4')
|
||||
|
||||
class Pictures {
|
||||
|
@ -102,6 +103,23 @@ class Pictures {
|
|||
})
|
||||
}
|
||||
|
||||
_createOne (req, callback) {
|
||||
pictures.create({
|
||||
order: req.body.order,
|
||||
url: req.body.url,
|
||||
vegetableId: req.params.vegetablesId
|
||||
})
|
||||
.then(item => {
|
||||
console.log('ici')
|
||||
callback(null, item)
|
||||
})
|
||||
.catch(e => {
|
||||
console.log(e)
|
||||
callback(e, null)
|
||||
})
|
||||
fs.unlink(req.file.path, () => {})
|
||||
}
|
||||
|
||||
createOne (req, callback) {
|
||||
Vegetables.getOne(req, (err, item) => {
|
||||
if (err) {
|
||||
|
@ -124,25 +142,46 @@ class Pictures {
|
|||
}
|
||||
|
||||
if (req.file) {
|
||||
const key = uuid()
|
||||
let aws = new Aws()
|
||||
aws.upload({
|
||||
path: req.file.path,
|
||||
filename: `picture_${req.params.vegetablesId}_${uuid()}.${req.file.originalname.split('.')[req.file.originalname.split('.').length - 1]}`
|
||||
}, (err, res) => {
|
||||
if (err) { callback(err, null) }
|
||||
let resize = new Resize()
|
||||
|
||||
pictures.create({
|
||||
order: order,
|
||||
url: res.file,
|
||||
vegetableId: req.params.vegetablesId
|
||||
resize.createLargeImage(req.file.path, (err, large) => {
|
||||
if (err) {
|
||||
callback(err, null)
|
||||
return false
|
||||
}
|
||||
|
||||
aws.upload({
|
||||
path: large.output,
|
||||
filename: `picture_${req.params.vegetablesId}_${key}_large.${req.file.originalname.split('.')[req.file.originalname.split('.').length - 1]}`
|
||||
}, (err, res) => {
|
||||
if (err) { callback(err, null) }
|
||||
|
||||
req.body = {
|
||||
order: order,
|
||||
url: res.file
|
||||
}
|
||||
|
||||
fs.unlink(large.output, () => {})
|
||||
|
||||
resize.createThumbnail(req.file.path, (err, file) => {
|
||||
if (err) {
|
||||
callback(err, null)
|
||||
return false
|
||||
}
|
||||
|
||||
aws.upload({
|
||||
path: file.output,
|
||||
filename: `picture_${req.params.vegetablesId}_${key}_thumb.${req.file.originalname.split('.')[req.file.originalname.split('.').length - 1]}`
|
||||
}, (err, res) => {
|
||||
if (err) { callback(err, null) }
|
||||
|
||||
this._createOne(req, callback)
|
||||
fs.unlink(file.output, () => {})
|
||||
})
|
||||
})
|
||||
})
|
||||
.then(item => {
|
||||
callback(null, item)
|
||||
})
|
||||
.catch(e => {
|
||||
callback(e, null)
|
||||
})
|
||||
fs.unlink(req.file.path, () => {})
|
||||
})
|
||||
} else {
|
||||
callback(new Error('No file sent'), 406)
|
||||
|
@ -161,7 +200,7 @@ class Pictures {
|
|||
|
||||
const aws = new Aws()
|
||||
|
||||
aws.deleteObjects([item.url], (err) => {
|
||||
aws.deleteObjects([item.url, item.url.replace('_large.', '_tumb.')], (err) => {
|
||||
if (err) {
|
||||
callback(err, null)
|
||||
return false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue