我已经查看了Cloudinary API和NodeJS上传示例,发现服务器端的上传需要使用文件路径,而客户端的上传则需要前端输入标签。我已经为用户提供了一个前端界面,让他们选择并裁剪自己喜欢的图片,这会给我一个数据URI。我想将这个文件保存到Cloudinary,而不必使用他们内置的前端选项。这种情况是否可行?这基本上意味着我可以调用一些可以接受URI或文件blob的上传函数。
Cloudinary支持使用data-URI编码字符串上传文件。请确保按照此处的说明将内容发送为Data-URI。例如,在Node.js中: cloudinary.uploader.upload("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", function(result) {console.log(result)});
curl "https://api.cloudinary.com/v1_1/mycloudname/image/upload?upload_preset=mypreset&file=data%3Aimage/gif%3Bbase64%2CR0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
。请注意,有签名的上传需要在服务器端生成签名,因为它基于你账户的api_secret,不应该出现在客户端代码中。 - Itay Taragano