我有一個 create-react-app 可以更新連接的藍牙設備的固件。為此,我需要將固件文件 (.zip) 轉換為 Uint8Array。固件文件本地保存在我的 public/ 文件夾中所以我嘗試使用這個函數來提取這些字節(jié):var fimware_zip = process.env.PUBLIC_URL + '/ZioV8_1.2.7.zip' this.loadFile(fimware_zip)將 loadFile 定義為: // Load a file, set the bytes to firmware_byte_array loadFile = async (my_file) => { console.log(my_file) var fr = new FileReader(); fr.onload = (e) => { var arrayBuffer = e.target.result; var array = new Uint8Array(arrayBuffer); this.setState({ firmware_byte_array: array}) } fr.readAsArrayBuffer(my_file); }但是我收到以下錯誤:Unhandled Rejection (TypeError): Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'.我已經搜索過如何將文件轉換為 Blob 類型的高低搜索,但我就是做不到。我還嘗試將 .zip 文件放在 src/ 文件夾中并使用import fimware_zip from './ZioV8_1.2.7.zip'但這也行不通任何幫助將不勝感激
create-react-app javascript 將文件轉換為 Uint8Array
縹緲止盈
2022-05-26 16:40:46