使用Javascript将文件发送到OneDrive API

使用Javascript将文件发送到OneDrive API,javascript,file-upload,onedrive,Javascript,File Upload,Onedrive,我在将文件上载到“OneDrive Api”时遇到一些问题 我获取上载de文件的URL: $.ajax({ type: "POST", url: folderUrl, headers: { 'Authorization': 'Bearer ' + access_token, 'Co

我在将文件上载到“OneDrive Api”时遇到一些问题

我获取上载de文件的URL:

 $.ajax({
                    type: "POST",
                    url: folderUrl,
                    headers: {
                        'Authorization': 'Bearer ' + access_token,
                        'Content-Type': 'application/json',
                    },
                    success: {.....}
});
通过它,我得到了“上传url”。然后,我读取并上传用户选择的文件(我需要对文件进行分段):

当我上传包含以下内容的文本文件时

“Lorem ipsum dolor sit amet”(无特殊字符“ñ”、“á”, 等等……)

它起作用了

但是,当上载带有特殊字符的文件(“ñ”、“á”、“?”…)时,会显示错误:

"code":"invalidRequest","message":"**Declared fragment length does not match the provided number of bytes**"
有“.doc”、“.zip”等文件

[编辑]:我注意到“á”改为“Ô(例如)

我需要帮助:/


谢谢

听起来像是编码问题,我猜罪魁祸首是
readAsBinaryString
。尝试切换到
readAsArrayBuffer
,看看是否有帮助


听起来像是编码问题,我猜罪魁祸首是
readAsBinaryString
。尝试切换到
readAsArrayBuffer
,看看是否有帮助

"code":"invalidRequest","message":"**Declared fragment length does not match the provided number of bytes**"