node.js - 如何在 Cloudinary 上上传 PDF 文档
问题描述
我正在尝试通过 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" });
}
};
解决方案
您是 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)});
推荐阅读
- coq - Coq:帮助形式化一个非正式的证明
- swagger - 如何从配置文件中设置 swagger 配置属性
- java - 如何在 IntelliJ 中附加 gradle-api 源
- javascript - 使用 .innerHTML 从 2d arraylist javascript 在 html 上生成表格
- python - 如何检查 Pandas 中的列是否具有不同大小写选择的字符串?
- python - 这个 Python 程序不工作,他们没有明显的原因
- python - pickle.load() 在 linux debian 9 中不起作用
- ios - 子容器的约束
- java - 由于 byte[] 太长而无法破译而导致 BadPaddingException
- node.js - 这个Node实例使用的V8平台不支持创建Worker