我的问题是关于节点js的快速会话。
我正在如下使用快速会话和mysql会话存储
0*1*(A*(n-1)**2+B*(n-1)+C)
登录时,我将会话数据保存如下
import * as express from "express";
import * as bodyParser from "body-parser";
import * as expressSession from 'express-session';
import * as MySQLStore from 'express-mysql-session';
let sessionStoreConfig = {
host: host,
user: user,
password: password,
database: db,
clearExpired: true
checkExpirationInterval: 900000,
createDatabaseTable: true,
connectionLimit: 1,
endConnectionOnClose: true,
charset: 'utf8mb4_bin',
schema: {
tableName: tableName,
columnNames: {
session_id: 'session_id',
expires: 'expires',
data: 'data'
}
}
},
}
let sessionConfig = {
secret: mysecret,
resave: true,
saveUninitialized: false,
name: someName,
unset: 'destroy',
store: null,
cookie: {
path: '/',
httpOnly: true,
secure: false,
maxAge: 3600000,
sameSite: false,
},
}
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
MySQLStore(expressSession);
let sessionStore = new MySQLStore(sessionStoreConfig);
sessionConfig.store = this.sessionStore;
app.use(expressSession(sessionConfig));
当content-type为application / json时,一切正常。
当我从有角度的客户端发布文件时,由于this的原因,我没有设置content-type,并且浏览器自动设置了content-type = multipart / form-data以及边界。
当内容类型为多部分/表单数据时,Express会话未检索数据。
我需要此会话数据以确保文件来自经过身份验证的用户,并且我必须将用户引用保存在数据库中。 而且,我正在使用multer在节点js上上传文件。