今天遇到一个问题,在调用上传过程中,上传了一个带类似的“[xxxxx](xxxxxxxxx).PDF”比较长的文件名,服务端报数据超长错误。从前端查到后端又从查到前端,发现问题出现在axios上。

如果将参数放在params中,axios会将转译后的特殊符号比如[]再转回来,导致服务端拿到不是合法的转译数据,又进行了转译,导致字段超长。

axios源码中处理的代码:

解决方案:get请求中将参数拼在url上,例如:

axios.get(`${url}?fileName=${encodeURIComponent(file.name)}`)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐