Je souhaite redimensionner et compresser des images après les avoir mises en ligne sur mon site. Il semble qu'il y ait quelques options pour redimensionner des images avec un nœud (par exemple https://github.com/lovell/sharp), mais je voudrais également compresser les images afin d'économiser de l'espace disque et permettre des temps de service plus rapides. Y a-t-il une bibliothèque ou autre chose qui rend cela possible?Compression d'images avec Node.js et Google Cloud Storage
Voici une version simplifiée de mon itinéraire actuel (fonctionnement) tel qu'il est aujourd'hui:
var router = require('express').Router();
var bucket = require('../modules/google-storage-bucket');
var Multer = require('multer');
var multer = Multer({
storage: Multer.memoryStorage(),
limits: {
fileSize: 5 * 1024 * 1024 // no larger than 5mb
}
});
// Process the file upload and upload to Google Cloud Storage.
router.post('/', multer.single('file'), (req, res) => {
// rejecting if no file is uploaded
if (!req.file) {
res.status(400).send('No file uploaded.');
return;
}
// Create a new blob in the bucket and upload the file data.
var blob = bucket.file('fileName');
var blobStream = blob.createWriteStream();
blobStream.on('error', (err) => {
console.log('error', err);
res.send(500);
});
blobStream.on('finish',() => {
console.log('everything worked!')
});
blobStream.end(req.file.buffer);
});
module.exports = router;
Peut-être [ici] (https://stackoverflow.com/questions/7073784/node-js-image-compression) vous trouverez quelque chose d'utile :) –
Il me semble que cette bibliothèque me permet de compresser à partir de la ligne de commande, Je peux le faire, je ne peux pas le faire à partir de mon projet sur le téléchargement. À moins que je ne comprenne mal cette bibliothèque. –