JavaScript: 使用 multer 访问对象内部数组中的对象
JavaScript: Accessing object inside an array inside object using multer
这是我的多功能 -
const storage = multer.diskStorage({
destination: (req, file, callback) => {
let type = req.params.type;
let path = `./data/${type}`;
fs.mkdirsSync(path);
callback(null, path);
},
filename: (req, file, cb) => {
const ext = mime.extension(file.mimetype);
const random = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
cb(null, `${Date.now()}-${random}.${ext}`);
},
});
这是路由器 -
router.post("/", auth, multer({ storage }).fields([{ name: 'image', maxCount: 1 }, { name: 'video', maxCount: 1 }]), addMovie);
这是我在 console.log(req.files)
-
时得到的结果
[Object: null prototype] {
image: [
{
fieldname: 'image',
originalname: '����� ����.png',
encoding: '7bit',
mimetype: 'image/png',
destination: './data/undefined',
filename: '1631293039713-7613.png',
path: 'data\undefined\1631293039713-7613.png',
size: 13133
}
],
video: [
{
fieldname: 'video',
originalname: 'file_example_MP4_480_1_5MG.mp4',
encoding: '7bit',
mimetype: 'video/mp4',
destination: './data/undefined',
filename: '1631293039720-3601.mp4',
path: 'data\undefined\1631293039720-3601.mp4',
size: 1570024
}
]
}
我正在发送图片和视频。我想访问对象内的字段。
我不确定该怎么做。
试过了 - req.files.image[0]
那是错误 - Property 'image' does not exist on type '{ [fieldname: string]: File[]; } | File[]'. Property 'image' does not exist on type 'File[]'.ts(2339)
你可以试试(req as any).files.image[0]
。 req
打字有点麻烦:(
这是我的多功能 -
const storage = multer.diskStorage({
destination: (req, file, callback) => {
let type = req.params.type;
let path = `./data/${type}`;
fs.mkdirsSync(path);
callback(null, path);
},
filename: (req, file, cb) => {
const ext = mime.extension(file.mimetype);
const random = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
cb(null, `${Date.now()}-${random}.${ext}`);
},
});
这是路由器 -
router.post("/", auth, multer({ storage }).fields([{ name: 'image', maxCount: 1 }, { name: 'video', maxCount: 1 }]), addMovie);
这是我在 console.log(req.files)
-
[Object: null prototype] {
image: [
{
fieldname: 'image',
originalname: '����� ����.png',
encoding: '7bit',
mimetype: 'image/png',
destination: './data/undefined',
filename: '1631293039713-7613.png',
path: 'data\undefined\1631293039713-7613.png',
size: 13133
}
],
video: [
{
fieldname: 'video',
originalname: 'file_example_MP4_480_1_5MG.mp4',
encoding: '7bit',
mimetype: 'video/mp4',
destination: './data/undefined',
filename: '1631293039720-3601.mp4',
path: 'data\undefined\1631293039720-3601.mp4',
size: 1570024
}
]
}
我正在发送图片和视频。我想访问对象内的字段。 我不确定该怎么做。
试过了 - req.files.image[0]
那是错误 - Property 'image' does not exist on type '{ [fieldname: string]: File[]; } | File[]'. Property 'image' does not exist on type 'File[]'.ts(2339)
你可以试试(req as any).files.image[0]
。 req
打字有点麻烦:(