jschan - Anonymous imageboard software. Classic look, modern features and feel. Works without JavaScript and supports Tor, I2P, Lokinet, etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

18 lines
569 B

const gm = require('gm')
, { thumbSize } = require(__dirname+'/../../configs/main.js')
, uploadDirectory = require(__dirname+'/uploadDirectory.js');
module.exports = (file) => {
return new Promise((resolve, reject) => {
gm(`${uploadDirectory}/file/${file.filename}[0]`) //0 for first gif frame
.resize(Math.min(thumbSize, file.geometry.width), Math.min(thumbSize, file.geometry.height))
.write(`${uploadDirectory}/file/thumb-${file.hash}${file.thumbextension}`, function (err) {
if (err) {
return reject(err);
}
return resolve();
});
});
};