Javascript 使用blob(react)创建文件时出错:对象必须具有可调用的@iterator属性
我正在使用一个我上传的文件,并调整它的大小,然后再将其发送到一个后端API进行分析 现在我得到了一个错误: TypeError:构造“文件”失败:对象必须具有可调用的 @@迭代器属性 我的理解是,文件构造函数可以将blob作为第一个参数,并且resizer函数提供了该blob。所以,我不确定我在哪里短路。我知道我的输入是好的,因为我在工作的同一组件中调用了另一个大小调整器(它提供了大小调整文件的base64编码版本,在处理之前显示为原始图像) 有关守则如下:Javascript 使用blob(react)创建文件时出错:对象必须具有可调用的@iterator属性,javascript,reactjs,image,Javascript,Reactjs,Image,我正在使用一个我上传的文件,并调整它的大小,然后再将其发送到一个后端API进行分析 现在我得到了一个错误: TypeError:构造“文件”失败:对象必须具有可调用的 @@迭代器属性 我的理解是,文件构造函数可以将blob作为第一个参数,并且resizer函数提供了该blob。所以,我不确定我在哪里短路。我知道我的输入是好的,因为我在工作的同一组件中调用了另一个大小调整器(它提供了大小调整文件的base64编码版本,在处理之前显示为原始图像) 有关守则如下: uploadImageHandler
uploadImageHandler = (event) => {
const tempImage = event.target.files[0];
const imageType = tempImage.type;
Resizer.imageFileResizer(
tempImage,
300,
300,
imageType,
100,
0,
(uri) => {
const file = new File(uri, tempImage.name);
},
'blob',
);
};
当我在尝试创建新文件之前登录console.loguri
时,它会返回
Blob {size: 127332, type: "image/image/jpeg"}
size: 127332
type: "image/image/jpeg"
__proto__: Blob
arrayBuffer: ƒ arrayBuffer()
size: (...)
slice: ƒ slice()
stream: ƒ stream()
text: ƒ text()
type: (...)
constructor: ƒ Blob()
Symbol(Symbol.toStringTag): "Blob"
get size: ƒ size()
get type: ƒ type()
__proto__: Object
在版本0.4.2中,您可以将的“文件”属性赋予输出类型。有关详细信息:在0.4.2版中,您可以为输出类型提供“文件”属性。详情如下: