You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Axios请求Discord CDN获取附件Blob出现文件损坏问题

解决Axios请求Discord CDN获取Blob文件损坏问题

文件变大且无法打开的核心原因是二进制数据被错误编码处理,Axios默认的文本编码规则会破坏原始二进制字节,导致文件体积膨胀且损坏。可以通过以下方式修复:

方案1:添加二进制响应编码配置

在Axios请求中新增responseEncoding: 'binary',强制以二进制格式处理响应数据,避免编码转换错误:

let file = await axios({
    url: 'https://cdn.discordapp.com/attachments/1057112589596889108/1057113515313352704/robloxmodelfile.rbxm', 
    method: 'GET',
    responseType: 'blob',
    responseEncoding: 'binary'
}).then(response => response.data);

方案2:用ArrayBuffer转Blob

先获取原始字节数组,再手动转换为Blob,这种方式更稳妥,避免Axios对Blob的自动处理偏差:

let response = await axios({
    url: 'https://cdn.discordapp.com/attachments/1057112589596889108/1057113515313352704/robloxmodelfile.rbxm', 
    method: 'GET',
    responseType: 'arraybuffer'
});
const file = new Blob([response.data], { type: response.headers['content-type'] });

如果以上方法仍有问题,可尝试在请求头中禁用gzip压缩,避免Axios自动解压时出错:

let file = await axios({
    url: 'https://cdn.discordapp.com/attachments/1057112589596889108/1057113515313352704/robloxmodelfile.rbxm', 
    method: 'GET',
    responseType: 'blob',
    responseEncoding: 'binary',
    headers: {
        'Accept-Encoding': 'identity'
    }
}).then(response => response.data);

内容的提问来源于stack exchange,提问作者cr_macca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:55:36