【问题标题】:Upload image in contentful media library在内容媒体库中上传图像
【发布时间】:2018-10-17 00:43:23
【问题描述】:

谁能指导我如何通过 angularjs 或 javascript 在内容媒体库中上传图片?

我浏览了内容丰富的文档,但找不到任何东西。

我找到了这个 sn-p,但我不这么认为它会上传到媒体库中:

var request = new XMLHttpRequest();

request.open('POST', 'https://api.contentful.com/spaces/5smsq22uwt4m/assets');

request.setRequestHeader('Authorization', 'Bearer b4c0n73n7fu1');
request.setRequestHeader('Content-Type', 'application/vnd.contentful.management.v1+json');

request.onreadystatechange = function () {
  if (this.readyState === 4) {
    console.log('Status:', this.status);
    console.log('Headers:', this.getAllResponseHeaders());
    console.log('Body:', this.responseText);
  }
};

var body = "{ \
  'fields': { \
    'title': { \
      'en-US': 'Bacon Pancakes' \
    }, \
    'file': { \
      'en-US': { \
        'contentType': 'image/jpeg', \
        'fileName': 'example.jpeg', \
        'upload': 'https://example.com/example.jpg' \
      } \
    } \
  } \
}";

request.send(body);

感谢您的帮助。

【问题讨论】:

    标签: javascript angularjs image-uploading contentful


    【解决方案1】:

    在 Contentful 上上传图片或任何媒体资产有两个步骤: - 创建资产(或者,更新现有资产) - 触发处理

    当您创建/更新资产时,您可以为它提供一个从中获取资产的 url。

    很遗憾,目前无法通过 API 从本地计算机上传资产(您可以通过 UI 上传)。

    创建/更新资产后,您需要触发处理。处理将获取资产并将其上传到 Contentful 系统。

    如果您使用 Contentful-management.js,即管理 API SDK,您可以查看如何使用 create an asset 以及如何使用 process an asset

    资产处理后将处于草稿状态。为了让全世界都可以使用它,您需要publish it

    但是,请注意,您只能在文件中的 upload 属性更改为 url 属性时发布它。这意味着资产已完成处理。

    不幸的是,目前没有回调或任何形式的资产实际完成处理的通知,因此您需要获取资产并查看属性是否已更改,如果没有,请重试.

    希望对您有所帮助。

    【讨论】:

    • 感谢您的意见。
    • ::: 我需要从我的电脑上传一张图片,有什么解决方法吗?
    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 2016-01-05
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    相关资源
    最近更新 更多