javascript - 使用节点在服务器上进行图像优化
问题描述
我有一个将图像上传到服务器的服务器。我需要以某种方式优化图像上传。这就是我上传文件的方式:
uploadImage(file, uid, res) {
var fs = require('fs');
mongoose.connect(config.db, {useNewUrlParser: true},).catch(e => console.log(e));
var conn = mongoose.connection;
Grid.mongo = mongoose.mongo;
const gfs = Grid(conn.db);
const writeStream = gfs.createWriteStream({
filename: file.filename,
});
fs.createReadStream(file.path).pipe(writeStream);
writeStream.on('close', file => {
const {_id} = file;
return Account.findByIdAndUpdate(uid, {'employer.logo': _id}).then(() => res.redirect('/employer')).catch(e => console.log(e));
});
},
如何在上传前优化图像?最好是如果有类似 gulp 的东西,但对于服务器?
解决方案
我最终使用了这个https://github.com/imagemin/imagemin。这很简单。这是我的代码:
async uploadImage(file, uid, res) {
const imagemin = require('imagemin');
const imageminJpegtran = require('imagemin-jpegtran');
const imageminPngquant = require('imagemin-pngquant');
console.log(1);
// const newFilePath = `${file.path}optimized`;
const newFile = await imagemin([file.path], newPath, {
plugins: [
imageminJpegtran(),
imageminPngquant({quality: '65-80'})
]
});
// newFile.path = newFilePath;
console.log(2);
console.log(file);
console.log(newFile);
var fs = require('fs');
await mongoose.connect(config.db, {useNewUrlParser: true},).catch(e => console.log(e));
var conn = mongoose.connection;
Grid.mongo = mongoose.mongo;
const gfs = Grid(conn.db);
const writeStream = gfs.createWriteStream({
filename: newFile.filename,
});
fs.createReadStream(newFile.path).pipe(writeStream);
writeStream.on('close', file => {
const {_id} = file;
return Account.findByIdAndUpdate(uid, {'employer.logo': _id}).then(() => res.redirect('/employer')).catch(e => console.log(e));
});
},
推荐阅读
- r - 如何在 R 的 Highcharts 中向工具提示添加其他信息?
- flutter - Flutter 根据首选项数据显示登录或主屏幕
- laravel - 未找到模块:错误:无法解析“./router”| Vue路由器
- reactjs - scalajs-react:Ajax GET 与 DELETE 的意外差异
- c - 为什么我的程序在我的文件中打印一个额外的新行?
- wcs - Exstore 无法登录 | 韦伯
- c# - 控制台字符串中的 C# Unicode 部分
- linux - 无法使 Jenkins 中的 AWS CLI 命令中的 IF 条件正常工作
- sql - 如何绕过唯一约束违规?
- flutter - 带有 GlobalKey 的英雄动画