在cloudinary上的nodejs中上传图像不起作用

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

我正在学习使用 multer 和 cloudinary 在线上传图像,但由于某种原因,代码在 cloudinary.uploader.upload() 方法上停止工作。图像被存储在所需的位置,一切都很顺利,但它不会继续,只等待部分功能。我对此很陌生,所以我对此一无所知,并且其他在线资源目前大多毫无用处。

这是我的cloudinary配置文件

import { v2 as cloudinary } from "cloudinary";
import dotenv from "dotenv";

dotenv.config();
cloudinary.config({
  cloud_name: process.env.CLOUD_NAME,
  api_key: process.env.API_KEY,
  api_secret: process.env.API_SECRET,
});

export default cloudinary;

这是我的控制器功能。

import cloudinary from "../Config/Cloudinary.js";
import path from "path";

export const createbook = async (req, res) => {
  try {
    const files = req.files;

    const coverImageMimeType = files.coverImage[0].mimetype.split("/").at(-1);

    const filename = files.coverImage[0].filename;

    const __dirname = path.resolve();

    const filepath = path.join(__dirname, "../public/files/uploads", filename);
    console.log("working");

    const uploadresult = await cloudinary.uploader.upload(filepath, {
      folder: "bookcover",
      resource_type: "image",
      public_id: filename,
      format: coverImageMimeType,
    });
    console.log("working");

    console.log("uploadresult", uploadresult);
  } catch (error) {
    return res.json({ message: error.message }).status(500);
  }
};

基本上,第二个工作不会被打印,并且代码可以工作,直到只有第一个工作打印为止。

非常感谢您作为前辈在这方面的帮助。谢谢你

node.js express multer cloudinary
1个回答
0
投票

您可以尝试记录不同的变量,看看它们是否按照给定输入的预期结果出现。如果您像这样记录响应,您可能会更清楚地了解该问题:

cloudinary.uploader.upload(filepath, {options}, function(res, err) {
    console.log(err, res);
});
© www.soinside.com 2019 - 2024. All rights reserved.