cloudinary -base 64 图像上传给出无效的 JSON 响应
Posted
技术标签:
【中文标题】cloudinary -base 64 图像上传给出无效的 JSON 响应【英文标题】:cloudinary -base 64 image upload giving invalid JSON response 【发布时间】:2021-12-12 09:44:24 【问题描述】:我正在尝试在 CLOUDINARY 上上传 base64 格式的图像
cloudinary.config(
cloud_name: CLOUDINARY_NAME,
api_key: CLOUDINARY_API_KEY,
api_secret: CLOUDINARY_API_SECRET,
);
我尝试过的两种方法
1. Let newPhoto='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='//hardcoded value
try
const myCloud = await cloudinary.v2.uploader.upload(newPhoto,
folder: "UserPhoto",
width: 150,
crop: "scale",
);
catch (error)
return next(new ErrorHandler(error.message, 500));
2. cloudinary.v2.uploader.upload("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
function(error, result) console.log(result, error); );
我收到以下回复
undefined
message: 'Server return invalid JSON response. Status Code 404. SyntaxError: Unexpected token < in JSON at position 0',
name: 'Error',
http_code: 404
错误:服务器返回无效的 JSON 响应。状态码 404. SyntaxError: Unexpected token
我使用了他们在官方文档中提供的相同 base64 图像字符串
这是链接 -https://cloudinary.com/documentation/upload_images#file_source_options section-通过 base64 数据 URI 上传
如何在 cloudinary 中上传 base64 图像
【问题讨论】:
【参考方案1】:您可以使用 Node.js v2 (https://cloudinary.com/documentation/node_integration) 来实现后端服务器,如下所示:
var cloudinary = require('cloudinary').v2;
cloudinary.config(
cloud_name: '<YOUR_CLOUD_NAME>',
api_key: '<YOUR_API_KEY>',
api_secret: '<YOUR_API_SECRET>',
secure: true
);
var newPhoto = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
cloudinary.uploader.upload(newPhoto,
folder: "UserPhoto",
width: 150,
crop: "scale",
,
function(error, result) console.log(result, error); );
【讨论】:
以上是关于cloudinary -base 64 图像上传给出无效的 JSON 响应的主要内容,如果未能解决你的问题,请参考以下文章
Cloudinary 最近的图像正在覆盖屏幕上显示的所有表单图像?
我可以在不将图像上传到 cloudinary 的情况下转换图像吗?