我正在尝试使用<input type='file'>
和 Contentful manangement api 从浏览器中选择一个文件。
我使用网络上已经存在的文件对其进行了测试,例如此处的示例: Angular&Contentful:无法在空间内创建资产 并且效果很好,当我选择一个文件并尝试从生成的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,
},
},
},
})
但是我收到一条错误消息,指出该值与正则表达式验证不匹配,因为它以“blob”而不是正确的 url 开头
我也尝试selectedFile
在upload
属性中使用,但它再次引发另一个错误:
有任何想法吗?谢谢!