【问题标题】:How to upload a PDF Document on Cloudinary如何在 Cloudinary 上上传 PDF 文档
【发布时间】:2021-02-02 08:07:31
【问题描述】:

我正在尝试通过 node.js 服务器在 Cloudinary 上上传 PDF 文档。 我目前使用的方法是不充分的并且不起作用。 如果有人能提供解决这个问题的方法,我将不胜感激,谢谢。

云存储配置:

const cloudinary = require("cloudinary").v2,
  { CloudinaryStorage } = require("multer-storage-cloudinary");  

cloudinary.config({
  cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
  api_key: process.env.CLOUDINARY_API_KEY,
  api_secret: process.env.CLOUDINARY_API_SECRET,
});
 
const storage = new CloudinaryStorage({
  cloudinary: cloudinary,
  folder: "<some_folder>",
  allowedFormats: ["jpg", "png", "pdf"],
});


module.exports.store = storage;

图片上传路径:

const express = require("express"),
  router = express.Router(),
  cors = require("cors"),
  fileUploadController = require("../../../controllers/haulage/users/fileUploadController");

const authenticate = require("../../../auth/auth"),
  multer = require("multer"),
  storage = require("../../../../config/cloudinary").store,
  parser = multer({ storage: storage });

router
  .route("/images")
  .put(
    authenticate,
    cors(),
    parser.array("image"),
    fileUploadController.uploadImage
  );

module.exports = router;

图像上传控制器:

exports.uploadImage = async (req, res) => {
  try {
    const events = JSON.parse(JSON.stringify(req.files));

    const urls = [];    

    events.map((e) => {
      const url = e.path;
     
      urls.push(url);
    });

    res.status(201).json({ URLS: urls });
  } catch {
    res.status(500).json({ error: "Server Error, Image Failed to Add" });
  }
};

【问题讨论】:

    标签: node.js express pdf cloudinary


    【解决方案1】:

    您是 Cloudinary 中免费计划的一部分吗?如果是,可能与这个问题有关:https://support.cloudinary.com/hc/en-us/articles/360016480179-Why-does-my-pdf-link-isn-t-working- 如果不是,你能详细说明一下这个问题吗?你在哪里看到错误? 上传pdf的代码(与任何图像相同):

    var cloudinary = require('cloudinary')
    cloudinary.v2.uploader.upload("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",function(res,err){console.log(res,err)});
    

    【讨论】:

    • 是的,我使用的是免费计划,但这不是问题所在。使用您建议的方法的问题是我不知道如何将发送到服务器的pdf文件表示为字符串,这是上传方法的第一个参数。在这种情况下,文件作为 formdata 发送。
    • 我上传图片没有问题,但我使用不同的方法来实现。我使用链接到我的云存储的 multer。问题在于它将pdf文件保存为图像,这就是我寻求不同方法的原因。请在问题部分找到我在上传图片时使用的方法。
    • 您可以向 support@cloudinary.com 开票,我们可以查看我们的日志。
    • 我后来向 cloudinary 发送了一封电子邮件,发现问题出在您发送的链接中。我向他们提供了他们要求的详细信息,并且从帐户中解除了限制。感谢您发布该链接,我不知道在此之前存在这样的问题。
    猜你喜欢
    • 2021-04-28
    • 2021-04-09
    • 2021-02-01
    • 2019-01-24
    • 2019-10-30
    • 2016-11-28
    • 2017-04-09
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多