尝试上传图片时,cloudinary 返回一个空对象 + 未上传图片(快递服务器)

cloudinary is returning an empty object when trying to upload an image + the image isn't being uploaded (express server)

我正在尝试在快速服务器中使用 cloudinary 实现图像上传,一切正常,但由于某种原因,cloudinary 上传器的结果是一个空对象,当然图像没有被上传.

上传路径:

const router = require('express').Router() ;

const cloudinary = require('cloudinary');
const auth = require('../middleware/auth');
const authAdmin = require('../middleware/authAdmin');

//cloudinary configs ...
cloudinary.config({
    cloud_name : process.env.CLOUD_NAME, 
    api_key: process.env.CLOUD_API_KEY,
    api_secret: process.env.CLOUD_API_SECRET
});


// upload image...
router.post('/upload',auth , authAdmin, (req, res) =>{
    try {
        if(!req.files || Object.keys(req.files).length === 0)
            return res.status(400).json({msg: 'No files were uploaded.'});
        
        const file = req.files.file;
        if(file.size > 1024*1024) {
            removeTmp(file.tempFilePath);
            return res.status(400).json({msg: "Size too large"});
        }

        if(file.mimetype !== 'image/jpeg' && file.mimetype !== 'image/png'){
            removeTmp(file.tempFilePath);
            return res.status(400).json({msg: "File format is incorrect."});
        }

        console.log(req.files) ;
        cloudinary.v2.uploader.upload(file.tempFilePath, {folder: "test"}, async(err, result)=>{
            if(err) throw err;

            removeTmp(file.tempFilePath)

            res.json({public_id: result.public_id, url: result.secure_url})
        })
    } catch (err) {
        return res.status(500).json({msg: err.message});
    }
});



const removeTmp = (path) =>{
    fs.unlink(path, err=>{
        if(err) throw err;
    })
};



module.exports = router ; 

在 .env 文件中:

CLOUD_API_KEY= API_KEY_HERE
CLOUD_NAME: CLOUD_NAME_HERE
CLOUD_API_SECRET= API_SECRET_HERE

当然我在文件中有我的实际信息,但出于安全原因我不能在这里发布它们。

当我在邮递员中尝试这条路线时,我得到一个空对象,如下图所示:

我确实尝试了以下方法:

我在@Aleksandar 的评论的帮助下解决了这个问题。

在返回 err 而不是 err.message 之后,我得到了“您必须提供云名称”的错误。

之后,我能够通过提供正确的云名称轻松修复错误。