我正在构建我的第一个全栈 Twitter 克隆应用程序,同时遵循教程,到目前为止我面临很多错误,但到目前为止我自己能够修复它们。然而,在这方面我需要一些帮助,因为这对我来说没有多大意义。
我目前正在尝试构建推文表单(从相应的作者/用户获取推文)并显示它们。但是,我在使用 Insomnia 进行测试时收到以下错误:
我的index.post.js 文件(用于发布推文):
import formidable from "formidable";
import { createTweet } from "~/server/db/tweets";
import { tweetTransformer } from "~/server/transformers/tweet.js";
import { createMediaFile } from "../../../db/mediaFiles.js";
import { uploadToCloudinary } from "../../../utils/cloudinary.js";
export default defineEventHandler(async (event) => {
const form = formidable({});
const response = await new Promise((resolve, reject) => {
form.parse(event.node.req, (err, fields, files) => {
if (err) {
reject(err);
}
resolve({ fields, files });
});
});
const { fields, files } = response;
const userId = event.context?.auth?.user?.id;
const tweetData = {
text: String(fields.text),
authorId: userId,
};
const tweet = await createTweet(tweetData);
const filePromises = Object.keys(files).map(async (key) => {
const file = files[key];
const response = await uploadToCloudinary(file.filepath);
console.log(response);
return createMediaFile({
url: "",
providerPublicId: "random_id",
userId: userId,
tweetId: tweet.id,
});
});
await Promise.all(filePromises);
return {
// tweet: tweetTransformer(tweet),
files,
};
});
我的 tweets.js 文件:
import { prisma } from ".";
export const createTweet = (tweetData) => {
return prisma.tweet.create({
data: tweetData,
});
};
我的cloudinary.js文件:
import { v2 as _cloudinary } from "cloudinary";
const cloudinary = () => {
const config = useRuntimeConfig();
_cloudinary.config({
cloud_name: config.cloudinaryCloudName,
api_key: config.cloudinaryApiKey,
api_secret: config.cloudinaryApiSecret,
});
return _cloudinary;
};
export const uploadToCloudinary = (image) => {
return new Promise((resolve, reject) => {
console.log(image);
cloudinary().uploader.upload(image, (error, data) => {
if (error) {
reject(error);
}
resolve(data);
});
});
};
可能cloudinary文件的配置有问题?任何帮助将不胜感激!
尝试从chatGPT获取帮助,已经看到几个论坛有完全相同的问题并尝试了他们的解决方案,但到目前为止还没有运气。也许我的错误更具体?
您遇到的错误消息与使用 Cloudinary 时缺少必需参数有关。以下是需要回顾的要点: