当你的属性unique: true
时,.sync({alter: true})
会在每次执行的时候新增索引,建议数据库的属性不变时不使用alter:true
。
username: {
type: DataTypes.STRING,
unique: true, // 当你的属性`unique: true`时,`.sync({alter: true})`会在每次执行的时候新增索引
allowNull: false,
}
// `.sync({alter: true})`会在每次执行的时候新增索引
await User.sync({alter: true});
上传带中文名的文件时,文件名乱码,使用Buffer.from
转义utf8
const storage = multer.diskStorage({
// 文件上传的地址
destination: (req, file, callback) => {
// ...
callback(null, dir);
},
// 文件名称
filename: (req, file, callback) => {
// 使用Buffer.from编码
file.originalname = Buffer.from(file.originalname, 'latin1').toString('utf8');
callback(null, file.originalname);
},
});
由于项目使用Nginx
代理了,导致Node配置了静态资源托管也无法查看图片,所以Nginx
代理也要配置
// Node
// 头像文件静态资源托管
this.app.use('/data/avatar', express.static('/data/avatar'));
# nginx.config
#头像文件代理
location /data/avatar {
expires 24h;
root /data/avatar/;#指定图片存放路径
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /data/avatar/;#代理临时路径
proxy_redirect off;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
if (!-e $request_filename) {
proxy_pass http://127.0.0.1:3001;#代理访问地址
}