代码之家  ›  专栏  ›  技术社区  ›  JC Garcia

直接从浏览器中的输入将资产上载到contentful(sdk CMA)时出错

  •  0
  • JC Garcia  · 技术社区  · 6 年前

    我正在尝试使用 <input type='file'> 以及满意的管理api。

    我用一个已经在网上的文件进行了测试,比如下面的例子: Angular & Contentful: Cannot create asset inside a space 当我从生成的blob中选择一个文件并尝试使用它时,问题就出现了。我就是这么做的:

    fileChangedHandler = (e) => {
      const file = e.target.files[0];
      if (file) {
        this.setState({
          file: {
            selectedFile: file,
            fileUrl: URL.createObjectURL(file),
          },
        });
      }
    };

    然后我用 fileUrl 作为此处的上载资产:

    environment.createAsset({
      fields: {
        title: {
          [locale]: selectedFile.name,
        },
        file: {
          [locale]: {
            contentType: selectedFile.type,
            fileName: selectedFile.name,
            upload: fileUrl,
          },
        },
      },
    })

    error 1

    我也试过用 selectedFile upload 属性,但它再次抛出另一个错误: error 2

    有什么想法吗?

    1 回复  |  直到 4 年前
        1
  •  1
  •   stefan judis    6 年前

    我很难解决这个问题,但你可以看看这个例子。

    https://github.com/contentful-labs/file-upload-example :)