cloudinary上的图像上传在heroku中不起作用
Posted
技术标签:
【中文标题】cloudinary上的图像上传在heroku中不起作用【英文标题】:Image upload on cloudinary not working in heroku 【发布时间】:2021-08-29 12:42:06 【问题描述】:我在 node.js 应用程序中使用 multer 和 cloudinary 进行图像上传。当我处于开发模式时,它工作得很好,但是在部署到 heroku 之后,我在浏览器控制台中遇到错误 服务器响应状态为 503(服务不可用)。当我检查 heroku 日志时,它显示为 at=error code=H12 desc="Request timeout" method=POST path="/api/users/upload/avatar" 我已经在heroku中添加了我的环境变量。可能是什么问题?
我的配置文件
const config,uploader = require('cloudinary').v2
const cloudinaryConfig = (req,res,next) =>
config(
cloud_name: process.env.CLOUD_NAME,
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET,
);
next()
module.exports =cloudinaryConfig,uploader
混合文件
const DatauriParser = require('datauri/parser');
const parser = new DatauriParser();
const storage = multer.memoryStorage();
const multerUploads = multer( storage,fileFilter:(req,file,cb)=>
let ext = path.extname(file.originalname);
if (ext !== ".jpg" && ext !== ".jpeg" && ext !== ".png")
cb(new Error("File type is not supported"), false);
return;
cb(null,true)
).single('image');
const dataUri = req => parser.format(path.extname(req.file.originalname).toString(),req.file.buffer)
module.exports = multerUploads,dataUri
我的上传控制器
const uploadImage = async(req,res)=>
const folder = req.path.split('/',3)[2]
if(!req.file)
throw new Error('Choose a picture to upload')
if(req.file)
const file = dataUri(req).content
const result = await uploader.upload(file,
folder:`MobiHub/$folder`,
width: 300,
height:300,
crop:'fill',
gravity: "faces"
)
const image = result.secure_url
res.json(image)
【问题讨论】:
【参考方案1】:在Heroku config vars 上设置 Cloudinary 环境变量(例如,process.env.CLOUD_NAME
)可能会有所帮助。
或者只是尝试添加 CLOUDINARY_URL
环境变量(可以在 Cloudinary 仪表板上找到),那么您就不需要在 cloudinary.config()
上显式声明它们。
【讨论】:
我已经在heroku config中添加了环境变量 嗨,尼克,由于您也在 Cloudinary 论坛上发帖,我们可以继续在该平台上为您提供帮助。以上是关于cloudinary上的图像上传在heroku中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
cloudinary 图像在本地与 laravel 8 中的 img 标签配合良好,但在 heroku/production 上不适用——img 在 heroku 上显示空白
Ruby on rails bootsy + cloudinary 上传图片麻烦
我可以在不将图像上传到 cloudinary 的情况下转换图像吗?