0

<input type='file'>Contentful 管理 APIを使用してブラウザからファイルを選択しようとしています。

ここの例のように、既に Web 上にあるファイルでテストしました: Angular & Contentful: Cannot create asset inside a space and it works perfect. ファイルを選択して、生成された 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,
      },
    },
  },
})

しかし、適切なURLではなく「blob」で始まるため、値が正規表現検証と一致しないというエラーが表示されます エラー 1

プロパティでも使用しようとしましたselectedFileが、upload別のエラーがスローされます。 エラー 2

何か案は?ありがとう!

4

1 に答える 1