我正在使用https://www.npmjs.com/package/react-image-file-resizer来获取我上传的文件并调整其大小,然后再将其发送到进行一些分析的后端 API。
\n现在我收到错误:
\n\n\n类型错误:无法构造“文件”:该对象必须具有可调用\n@@iterator 属性
\n
我的理解是,文件构造函数可以将 blob 作为第一个参数,并且 resizer 函数提供该 blob。所以,我不确定我哪里短路了。我确实知道我的输入很好,因为我在正在工作的同一组件中调用了另一个调整器(它提供了调整大小文件的 Base64 编码版本,我在处理之前将其显示为原始图像)
\n相关代码是:
\nuploadImageHandler = (event) => {\n const tempImage = event.target.files[0];\n const imageType = tempImage.type;\n\n Resizer.imageFileResizer(\n tempImage,\n 300,\n 300,\n imageType,\n 100,\n 0,\n (uri) => {\n const file = new File(uri, tempImage.name);\n },\n \'blob\',\n );\n};\nRun Code Online (Sandbox Code Playgroud)\nuri当我在尝试执行之前执行 console.log 时,new File它会返回
Blob {size: 127332, type: "image/image/jpeg"}\nsize: 127332\ntype: "image/image/jpeg"\n__proto__: Blob\narrayBuffer: \xc6\x92 arrayBuffer()\nsize: (...)\nslice: \xc6\x92 slice()\nstream: \xc6\x92 stream()\ntext: \xc6\x92 …Run Code Online (Sandbox Code Playgroud)