status_code=500, get file data from 'base64:/uploads/files/20261014_video_6aceed...
错误信息
status_code=500, get file data from 'base64:/uploads/files/20261014_video_6aceed450aed2.mp4' failed: failed to decode base64 data: illegal base64 data at input byte 23
AI 解决方案
🌐 错误翻译
原文:status_code=500, get file data from 'base64:/uploads/files/20261014_video_6aceed450aed2.mp4' failed: failed to decode base64 data: illegal base64 data at input byte 23
译文:状态码=500,从 base64:/uploads/files/20261014_video_6aceed450aed2.mp4 获取文件数据失败:无法解码 base64 数据:输入字节 23 处存在非法 base64 数据
🎯 原因分析
💡 解决方案
请确保 Base64 字符串正确编码,并在解码前进行校验:
// 修复后的代码:解码前先验证 Base64 格式
const base64Data = '你的base64字符串';
// 检查是否包含非法字符并清理
const cleanData = base64Data.replace(/^data:[^;]*;base64,/, '');
try {
const buffer = Buffer.from(cleanData, 'base64');
// 继续处理文件数据
} catch (e) {
console.error('Base64 解码失败:', e.message);
// 重新编码或从可靠的数据源获取
}
🛡️ 预防措施
^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ 验证 Base64 字符串格式