我在使用“cloudinary”为我的 MERN 堆栈项目上传图像时遇到错误

问题描述 投票:0回答:3

我正在关注此 YouTube 视频 - https://www.youtube.com/watch?v=Rw_QeJLnCK4 ,该视频逐步指导如何将图像上传到 cloudinary。

这是 cloudinary 配置 -

router.post('/create',auth,createBlog)

这是我处理图像上传的路线

在 createBlog 控制器中,我导入 cloudinary 配置并执行与 youtube 视频中提到的相同的操作 -

我能够在我从前端发送的'req.body.image'中获取图像的bas64编码字符串。

但是 console.log(response) 给了我这个错误 -

TypeError: Cannot read property 'upload' of undefined

我还在 cloudinary 中创建了一个名为“my_blogwebsite”的预设,与同名文件夹关联。

我在我的 Express 应用程序中使用 ES6 模块而不是 commonJS 进行导入和导出。在视频中,讲师要求 commonJS 中的 cloudinary 像这样 -

const cloudinary = require("cloudinary").v2;

但我不知道如何在 ES6 模块中添加“.v2”。我尝试在 google 上搜索此内容,但没有成功。我认为实现这一点可以解决我的问题,但我不确定。

编辑 - 这是我的文件夹结构

请帮我解决这个问题,谢谢

node.js express es6-modules cloudinary
3个回答
1
投票

您可以这样导入:


import {v2 as cloudinary} from "cloudinary"


0
投票

你可以试试这个方法:

import cloudinaryModule from "cloudibary";

const cloudinaryModule = cloudinaryModule.v2;

0
投票

cloudinary 配置文件

import dotenv from "dotenv"
dotenv.config()
import { v2 } from "cloudinary"

v2.config({
  cloud_name: process.env.CLOUDINARY_NAME,
  api_key: process.env.CLOUDINARY_KEY,
  api_secret: process.env.CLOUDINARY_SECRET,
})

export default v2
© www.soinside.com 2019 - 2024. All rights reserved.