今天写了一个简单的,的node程序 想练习下前端也面的文件上传功能(包括文件切片上传)但是遇到一个问题就是,我想保留原来的文件名,但是如果文件名是中文那就回乱码想下图这样
然后通过网上也没收到好的答案 也许是我搜索方法方式不对 然后距突然想起BUffer类 因为他里面是储存二进制数据,我就想着能不能先把文件名通过buffer通过二进制编码储存然后再解码
const upfile = multer({
storage: multer.diskStorage({
destination(req, file, cb) {
// console.log(req, file);
cb(null, './up_and_down');
},
filename(req, file, cb) {
cb(
null,
` ${Date.now()} _ ${Buffer.from(file.originalname,'binary').toString()}`
);
},
}),
});
然后文件名局可以正常显示中文了