问题描述
使用阿里云OSS SDK上传文件失败,报错如下
RequestError: Failed to execute 'fetch' on 'Window': Failed to read the 'headers' property from 'RequestInit': String contains non ISO-8859-1 code point. (req "error"), PUT xxx -1 (connected: false, keepalive socket: false) headers: {}
问题分析
原因是文件名包含中文名,传英文文件名就不会报错
const headers = { // 指定该Object被下载时的名称。 'Content-Disposition': file.name }
解决办法
将中文名编码
const headers = { // 指定该Object被下载时的名称。 'Content-Disposition': encodeURIComponent(file.name) }
参考
error – String contains non ISO-8859-1 code point (字符串包含非ISO-8859-1代码)