Javascript 如何在multer的fields数组中选择文件上载

Javascript 如何在multer的fields数组中选择文件上载,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我想将第二个字段设置为uploads.fields作为可选字段进行上载,例如,如果用户在多部分表单数据的图像数组中未提供任何图像,则此路由也应在不引发错误的情况下运行 router.post('/', [authPub, uploads.fields([{ name: 'thumbimage', maxCount: 1 }, { name: 'image', maxCount: 6 }])], async (req, res) => { const draft = await Draft

我想将第二个字段设置为uploads.fields作为可选字段进行上载,例如,如果用户在多部分表单数据的图像数组中未提供任何图像,则此路由也应在不引发错误的情况下运行

router.post('/', [authPub, uploads.fields([{ name: 'thumbimage', maxCount: 1 }, { name: 'image', maxCount: 6 }])], async (req, res) => {

const draft = await Drafts.findById(req.body.id);
//console.log(req.data);
if (!draft) return res.status(400).send({ status: 0, message: "No draft" });
let thumburl = '';
const today = new Date();
var month = (today.getMonth()) + 1;
var year = today.getFullYear();
var field = year + "-" + month;
try {
    const blobName = await getBlobName(req.files['thumbimage'][0].originalname);
    const stream = getStream(req.files['thumbimage'][0].buffer);
    console.log(stream);
    const containerName = "thumbs";
    const contentType = mime.contentType(req.files['thumbimage'][0].originalname);
    const uploadOptions = { bufferSize: 4 * 1024 * 1024, maxBuffers: 11 };
    const result = upload(stream, containerName, contentType, uploadOptions, blobName);
    thumburl = "https://example.com" + blobName;
} catch (err) {
    console.log(err);
    return res.status(500).send({ status: 0, message: "Internal Server Error" });
}
const urls = [];

    try {
        const files = req.files['image'];
        for (const file of files) {
            const blobName = await getBlobName(file.originalname);
            const stream = getStream(file.buffer);
            const containerName = "image";
            const contentType = mime.contentType(file.originalname);
            const uploadOptions = { bufferSize: 4 * 1024 * 1024, maxBuffers: 20 };
            upload(stream, containerName, contentType, uploadOptions, blobName).catch((err) => {
                console.log(err);
                res.send(err);
            });
            urls.push("https://example.com/image/" + blobName);

        };

    } catch (err) {
        console.log(err);
        return res.status(500).send({ status: 0, message: "Internal Server Error" });
    }});