我正在创建一个 meern stack 社交媒体应用程序,在其中我通过 multer 拍照并将它们存储在 cloudinary 中,但 cloudinary 不断给出此错误: Cloudinary 上传错误:{
消息:“未知 API 密钥‘879993354584111’,”,
名称:“错误”,
http_代码:401
}
这是我的云配置:
import { v2 as cloudinary } from 'cloudinary';
cloudinary.config({
cloud_name: process.env.CLOUD_NAME,
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET_KEY,
});
export default cloudinary;
这是我的createPost函数
export const createPost = async (req, res) => {
try {
const { userId, description } = req.body;
const picturePath = req.file.path;
console.log("Uploaded File:", req.file);
console.log("Post request: ", req.body);
const user = await User.findById(userId);
if (req.file) {
// Upload the image to Cloudinary
try {
console.log("CLoudinary started...");
const result = await cloudinary.uploader.upload(picturePath, {
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET_KEY,
cloud_name: process.env.CLOUD_NAME,
});
console.log("Cloudinary Upload Result:", result);
const finalPicturePath = result.secure_url;
console.log("Picture Path:", finalPicturePath);
} catch (error) {
console.error("Cloudinary Upload Error:", error);
}
}
const newPost = new Post({
userId,
firstname: user.firstname,
lastname: user.lastname,
location: user.location,
description,
userPicturePath: user.picturePath,
picturePath: picturePath,
likes: {},
comments: []
})
await newPost.save();
console.log(newPost)
// const post = await Post.find();
res.status(201).json({ message: 'Post added successfully' });
} catch (err) {
res.status(409).json({ message: err.message });
}
}
它一直给我未知的 api 密钥错误
我希望将通过 multer 的图像添加到 cloudinary,但它给了我这个错误
根据您从 Cloudinary 收到的错误消息,它显示您的上传请求中发送的未知 API 密钥 - 请注意,API 密钥位于错误消息中的单引号内。单引号不应成为您请求中发送的值的一部分。
您应该能够通过删除
.env
文件中值周围的单引号并再次重试请求来解决该问题。