[英]Unexpected token I in JSON at position 0
我正在尝试使用BASE64编码的BLOB数据发送获取请求。
通过不同的服务验证JSON时,它被证明是有效的JSON。
export function sendRecording1(blob){
let base64data;
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
base64data = reader.result;
//base64data = base64data.substring(22);
base64data = base64data.toString();
let body = JSON.stringify({text: base64data, id: "blob"});
//console.log(body);
return fetch(url, {
method: "POST", // or 'PUT'
async: true,
//body: JSON.stringify({ text: base64data, id: "blob" }),
body: body,
headers: {
"Access-Control-Allow-Origin": "*",
"Content-Type": "application/json"
}
}).then(res => res.json())
但是似乎fetch()不喜欢Base 64主体,并给我以下错误:错误:SyntaxError:JSON中位置0的意外标记I
当主体达到100.000bytes以上时,这似乎也会发生。 当我有那么大的其他文件时,这很奇怪,因为它正在工作。
Base64数据由.WAV文件制成,用于录音。
几周前,我已经遇到了这个问题,不确定我到底做了什么。 试试这个并调试它会有所帮助。
// .then(res => res.json()) // comment this out for now
.then(res => res.text()) // convert to plain text
.then(text => console.log(text)) // then log it out
https://daveceddia.com/unexpected-token-in-json-at-position-0/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.