multer искажает русский язык
multer искажает русский язык на express typescript
Вот так русский язык отображается в базе данных, но проблема заключена в multer. Нужно сделать так, чтобы name (originalname) нормально отображал русский язык. Далее прилагаю код самого multer.
import multer from 'multer'
import * as uuid from 'uuid'
const StorageFiles = multer.diskStorage({
destination:'uploads/files',
filename: (req, file, cb)=>{
cb(null, `${uuid.v4()}.${file.originalname.split('.').at(-1)}`)
},
})
const uploadFiles = multer({
storage: StorageFiles
}).array('files', 10)
export {uploadFiles}
Далее прилагаю код, добавления файлов в базу данных
async create(files:any){
const filesArray = await Promise.all(files.map(async(file:any)=>{
const fileData = await prisma.file.create({
data:{
id:file.filename,
name: file.originalname
}
})
return fileData.id
}))
return filesArray
}
И если нужно прилагаю код из контроллера
async createFiles(req:any, res:any, next:any){
try {
uploadFiles(req, res, async(err:any)=>{
if(err){
next(err)
}
else if(req.files)
{
const userData = await taskService.create(req.files)
return res.send(userData)
}
else {
next(err)
}
})
} catch (e) {
next(e)
}
}
Помогите пожалуйста ^_^
Источник: Stack Overflow на русском