导出文件返回arraybuffer格式的错误处理

271 阅读1分钟

项目中导出文件是返回的arraybuffer格式,返回错误信息是也是arraybuffer格式,导出后为txt文件,无法判断错错误信息. 网上搜索后通过将arraybuffer转换来判断代码如下

    async download() {
        let res = await axios.post(url,params,{responseType: "arrayBuffer"})
        if(!res) return
        try{
        //
        let enc = new TextDecoder('utf-8')
        let data = JSON.parse(enc.decode(new Uint8Array(res)))
        //在这里如果能获取到data,就表示遇到错误了,
        }catch(err){
        //new TextDecoder('utf-8') 这个方法无法解析文件的arraybuffer
        //这里表示正确返回arraybuffer文件,然后对文件处理下载即可
        
        }