basically what I want to achieve is check in a middleware whether an uploaded file has the correct image type (png for example).
(基本上,我要实现的是在中间件中检查上传的文件是否具有正确的图像类型(例如png)。)
This is what I have come up with till now:(到目前为止,这是我想出的:)
export const fileCheckMiddleware = (req, res, next) => {
const acceptedImageTypes = ["image/gif", "image/jpeg", "image/png"];
const oldWrite = res.write;
const oldEnd = res.end;
const chunks = [];
res.write = (...restArgs) => {
chunks.push(new Buffer(restArgs[0]));
oldWrite.apply(res, restArgs);
};
res.end = async (...restArgs) => {
if (restArgs[0]) {
chunks.push(new Buffer(restArgs[0]));
}
const body = Buffer.concat(chunks).toString("utf8");
try {
let parsedBody = {};
try {
parsedBody = JSON.parse(body);
} catch (err) {
parsedBody = { data: { unparsedBody: body } };
}
const { variables } = req.body;
console.log("x1b[1m%sx1b[0m", "LOG variables", variables.file);
if (variables.file) {
console.log("x1b[1m%sx1b[0m", "LOG type", typeof variables.file);
}
} catch (err) {}
oldEnd.apply(res, restArgs);
};
next();
};
The logged type of variables.file is an object.
(记录的variables.file类型是一个对象。)
And the result of the console.log is this:(而console.log的结果是这样的:)
LOG variables Promise {
{ filename: 'trump.jpeg',
mimetype: 'image/jpeg',
encoding: '7bit',
createReadStream: [Function: createReadStream] } }
So how can I access the mimetype here?
(那么我如何在这里访问mimetype?)
I tried to map over the keys, variables.file["Promise"],...(我试图映射键,variables.file [“ Promise”],...)
ask by Gh05d translate from so
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…