首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我试图在不使用Cloudinary的情况下使用Cloudinary post API上传图像。

我试图在不使用Cloudinary的情况下使用Cloudinary post API上传图像。
EN

Stack Overflow用户
提问于 2019-10-19 14:22:45
回答 2查看 1K关注 0票数 3

我对云和棱角分明是陌生的。我一直在寻找一种方法来上传图像到cloudinary,而不使用SDK作为cloudinary给我们使用post API上传图像的选项,我尝试了以下,但没有成功。

代码语言:javascript
复制
uploadImage(event) {
var that = this;
this.create_blob(event.srcElement.files[0], function (blob_string) {
  that.http.post('https://api.cloudinary.com/v1_1/image/upload/', { file: blob_string}).subscribe(res => {
    // url of upload file
  })
});

}

代码语言:javascript
复制
 create_blob(file, callback) {
var reader = new FileReader();
reader.onload = function () { callback(reader.result) };
reader.readAsDataURL(file);}

我在控制台中发现了以下错误。

代码语言:javascript
复制
HttpErrorResponse {headers: HttpHeaders, status: 401, statusText: "Unauthorized", url: "https://api.cloudinary.com/v1_1/image/upload/", ok: false, …}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-31 06:19:26

你犯了一个小错误,你错过了在你的帖子请求中添加cloud_name。您可以通过访问Cloudinary仪表板找到您的cloud_name。正确的代码如下

代码语言:javascript
复制
    uploadImage(event) {
    var that = this;
    this.create_blob(event.srcElement.files[0], function (blob_string) {
    that.http.post('https://api.cloudinary.com/v1_1/YOUR_CLOUD_NAME/image/upload/', { file:  blob_string}).subscribe(res => {
    // url of upload file
  })

注意:下面的方法是上传使用无符号方式,所以当您尝试下载图像时,它的url将启动为"http“而不是"https"

票数 1
EN

Stack Overflow用户

发布于 2019-10-19 22:39:52

根据您提供的代码,我可以看到以下几点:

  • 您可以检查响应头并查找一个名为X-Cld-Error的响应头,它将提供关于请求失败原因的更多信息。在这种情况下,我希望它返回cloud_name is disabled。当通过Cloudinary传递URL请求资源时,也会出现此标头,这将导致错误。例如,包含Invalid transformation parameter - ww.
  • Which的https://res.cloudinary.com/demo/image/upload/ww_350/sample.jpg将返回一个与下一个点相关的X-Cld-Error头,您使用的上传API端点不包括您的云名称。应该是https://api.cloudinary.com/v1_1/<cloud name>/image/upload
  • Client-side上载(即没有身份验证签名执行的上传),需要在您的帐户内设置未签名的上载预置,并将其作为两个强制性参数与file一起提供。Upload预设提供了一种方法来定义通常允许在使用签名时在上传调用中直接设置的上载参数。当不使用签名时,许多参数都无法指定,如果需要,应该在上传预置内配置。您可以在此了解更多信息,包括如何在文档的以下部分创建上载预置:https://cloudinary.com/documentation/upload_images#unsigned_upload

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58464638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档