我想在用户上传到我的网站后调整图像大小并压缩图像。看起来有很多选项可以用节点调整图像大小(例如https://github.com/lovell/sharp),但我也想压缩图像以节省磁盘空间并允许更快的服务时间。有没有图书馆或其他的东西可以使这成为可能?使用Node.js和Google云端存储压缩图像
这是我目前(功能)航线的简化版本,今天,因为它代表:
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;
也许[这里](https://stackoverflow.com/questions/7073784/node-js-image-compression)你会发现一些有用的东西:) –
似乎这个库允许我从命令行进行压缩,我可以做到这一点,我无法从我的上传项目中做到这一点。除非我误解了这个库。 –