Ich möchte Bilder skalieren und komprimieren, nachdem sie von Benutzern auf meine Website hochgeladen wurden. Es scheint, als gäbe es einige Optionen für die Größenänderung von Bildern mit Knoten (z. B. https://github.com/lovell/sharp), aber ich möchte auch die Bilder komprimieren, um Speicherplatz zu sparen und schnellere Sendezeiten zu ermöglichen. Gibt es eine Bibliothek oder etwas anderes, das dies möglich macht?Komprimieren von Bildern mit Node.js und Google Cloud Storage
ist hier eine vereinfachte Version meiner aktuellen (Funktion) Route wie es heute steht:
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;
Vielleicht [hier] (https://stackoverflow.com/questions/7073784/node-js-image-compression) finden Sie etwas Nützliches :) –
Es scheint, als ob diese Bibliothek mir ermöglicht, von der Befehlszeile zu komprimieren, Ich kann das, ich kann es einfach nicht von meinem Projekt beim Upload machen. Es sei denn, ich missverstehe diese Bibliothek. –