图片上传
This commit is contained in:
@@ -4,6 +4,12 @@ const MsgCode = require('../msgCode/msgCode.controller');
|
|||||||
const changePwd = require('../sign/sign.controller').changePasswd;
|
const changePwd = require('../sign/sign.controller').changePasswd;
|
||||||
const Crypto = require('../../utils/crypto');
|
const Crypto = require('../../utils/crypto');
|
||||||
const { parseForm } = require('../../utils/form');
|
const { parseForm } = require('../../utils/form');
|
||||||
|
const { USER_FILE_DIR: userFileDir } = require('../../../configSec.js');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
if (!fs.existsSync(userFileDir)) {
|
||||||
|
fs.mkdirSync(userFileDir);
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
changePwd,
|
changePwd,
|
||||||
@@ -147,7 +153,8 @@ module.exports = {
|
|||||||
async verify (req, res) {
|
async verify (req, res) {
|
||||||
const { userId } = res.locals.user;
|
const { userId } = res.locals.user;
|
||||||
const form = await parseForm(req, {
|
const form = await parseForm(req, {
|
||||||
uploadDir: `./userImages/${userId}`,
|
tag: userId,
|
||||||
|
uploadDir: userFileDir,
|
||||||
maxFileSize: 20 * 1024 * 1024, // 限制文件体积最大20m
|
maxFileSize: 20 * 1024 * 1024, // 限制文件体积最大20m
|
||||||
keepExtensions: true,
|
keepExtensions: true,
|
||||||
encoding: 'utf-8'
|
encoding: 'utf-8'
|
||||||
|
|||||||
@@ -5,6 +5,13 @@ module.exports = {
|
|||||||
if (!req) return null;
|
if (!req) return null;
|
||||||
const form = new formidable.IncomingForm();
|
const form = new formidable.IncomingForm();
|
||||||
Object.assign(form, config);
|
Object.assign(form, config);
|
||||||
|
form.on('fileBegin', function (name, file) {
|
||||||
|
file.path = file.path.replace(/(?<=\/)\S+(?=\.)/, `${config.tag}_${name}`);
|
||||||
|
});
|
||||||
|
form.onPart = function (part) {
|
||||||
|
if (part.filename && (part.mime !== "image/png" && part.mime !== "image/jpeg")) return 0;
|
||||||
|
form.handlePart(part);
|
||||||
|
};
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
form.parse(req, function (err, fields, data) {
|
form.parse(req, function (err, fields, data) {
|
||||||
if (err) return reject(err);
|
if (err) return reject(err);
|
||||||
|
|||||||
Reference in New Issue
Block a user