我正在关注此 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 上搜索此内容,但没有成功。我认为实现这一点可以解决我的问题,但我不确定。
编辑 - 这是我的文件夹结构
请帮我解决这个问题,谢谢
您可以这样导入:
import {v2 as cloudinary} from "cloudinary"
你可以试试这个方法:
import cloudinaryModule from "cloudibary";
const cloudinaryModule = cloudinaryModule.v2;
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