Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const form = formidable({
- multiples: false,
- uploadDir: environment.tmp_dir_avatars,
- maxFileSize: environment.max_avatar_size
- });
- async function validFile(req, res, next) {
- try {
- console.log("validFile");
- const file = await new Promise((resolve, reject) => {
- form.parse(req, (err, fields, decodedObject) => {
- if (err) {
- return reject(err);
- }
- const file = decodedObject.avatar;
- if (!file.type) {
- return reject({
- message: "File format doesnt exist " + file.type,
- file: file
- });
- }
- // image/x-png, image/png, image/gif, image/jpeg
- const fileType = file.type.toLowerCase();
- if (
- fileType === "image/x-png" ||
- fileType === "image/png" ||
- fileType === "image/gif" ||
- fileType === "image/jpeg"
- ) {
- console.log("readed file", file.name, "to", file.path);
- resolve(file);
- } else {
- reject({ message: "Wrong file format " + fileType, file: file });
- }
- });
- });
- res.locals.file = file;
- return next();
- } catch (err) {
- if (err.file && err.file.path) {
- // Delete file
- fs.unlink(err.file.path, err => {
- if (err) {
- console.error(err);
- return;
- }
- });
- }
- console.error("error validFile userId:", req.user.id, err.message);
- return res.json(requester.createError());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment