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 的情况下转换图像吗?

如何使用 Cloudinary 和 Strapi 延迟加载图像?

无法使用 Heroku 将图像上传到 Cloudinary

Next.js 图像组件不显示 Cloudinary 图像

在创建图像之前使用 jCrop 和 cloudinary through rails 4 进行裁剪