使用场景
当后端导出 Excel 或者其他文件类型时, 请求类型需要以二进制流返回ArrayBuffer,当请求以某种形式报错时,这时后端返回的就不在是二进制流了ArrayBuffer,这时会返回一个错误的Json对象, 但是我们最终接受到的还是以ArrayBuffer的形式数据,无法利用后端返回的错误信息,当作提示并作用在页面当中!
方案1
1 2 3 4 5 6 7 8 9 10
| export function arrayBufferToJson( arrayBufferData ){ let uint8_msg = new Uint8Array(evt.data); let decodedString = String.fromCharCode.apply(null, uint8_msg); console.log(decodedString); let data = JSON.parse(decodedString); console.log(data); }
|
方案2
1 2 3 4 5 6 7 8
| export function arrayBufferToJson( arrayBufferData ){ let enc = new TextDecoder("utf-8"); let uint8_msg = new Uint8Array(arrayBufferData); let jsonData = JSON.parse(enc.decode(uint8_msg)); console.log(jsonData);
}
|