此页面上的位置以及如何添加调整大小功能?我不太清楚在哪里可以找到文件来调整大小,我已经尝试过在multer的滤镜上进行调整。
const multer = require('multer');
const crypto = require('crypto');
const path = require('path');
const sharp = require('sharp');
const GridFsStorage = require('multer-gridfs-storage');
const { connection } = require('../../server');
// FILES STORAGE CONFIGURATION
const { url } = connection.client.s;
// Storage
const storage = new GridFsStorage({
url,
file: (req, file) => {
return new Promise((resolve, reject) => {
crypto.randomBytes(16, (err, buf) => {
if (err) {
return reject(err);
}
const filename = buf.toString('hex') + path.extname(file.originalname);
const fileInfo = {
filename: filename,
bucketName: 'uploads',
};
console.log('img info', fileInfo);
resolve(fileInfo);
});
});
},
});
const fileFilter = (req, file, cb) => {
if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png') {
cb(null, sharp().resize(150, 150));
} else {
cb(null, false);
}
};
const upload = multer({
storage,
fileFilter,
});
module.exports = { upload };
我可以在此代码中添加Sharp函数吗?如果没有,您可以向我推荐有关如何使用multer和gridgs进行操作的文档吗?