React native 未处理的承诺拒绝:语法错误:JSON解析错误:无法识别的令牌'<';以自然反应
我是个新来的本地人。我已经创建了一个表单将图像上传到服务器。但当我尝试上传图像时,总是出现这样的错误=>React native 未处理的承诺拒绝:语法错误:JSON解析错误:无法识别的令牌'<';以自然反应,react-native,multipartform-data,multipart,React Native,Multipartform Data,Multipart,我是个新来的本地人。我已经创建了一个表单将图像上传到服务器。但当我尝试上传图像时,总是出现这样的错误=> [未处理的承诺拒绝:SyntaxError:JSON解析错误:无法识别的令牌'这本身不是React本机问题。您的服务器使用无法在此处解析的非JSON正文进行响应: .then((returnValue)=>returnValue.json()) 这可能意味着您的HTTP请求不正确。为什么不正确?很抱歉,我无法帮助您,因为我不熟悉您尝试使用的API。当我删除该API时,我的警报将被打印,但我没
[未处理的承诺拒绝:SyntaxError:JSON解析错误:无法识别的令牌'这本身不是React本机问题。您的服务器使用无法在此处解析的非JSON正文进行响应:
.then((returnValue)=>returnValue.json())
这可能意味着您的HTTP请求不正确。为什么不正确?很抱歉,我无法帮助您,因为我不熟悉您尝试使用的API。当我删除该API时,我的警报将被打印,但我没有得到任何响应。它说=向您的开发环境发送日志消息时出现问题try
控制台.log(JSON.stringify(响应))
将多部分格式的数据发送到服务器是正确的方式吗?因为我不知道哪种方式是正确的,我如何知道它完全工作,因为有些人说它的代码是正确的,但在我的服务器映像中没有将您的映像加载到aws
,并将相同的链接提供给服务器端。这是一个很好的做法。
const pickImage = async () => {
let result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.All,
// base64: true,
});
if (result.cancelled) {
return;
}
let localUri = result.uri;
let filename = localUri.split('/').pop();
let match = /\.(\w+)$/.exec(filename);
let type = match ? `image/${match[1]}` : `image`;
let formData = new FormData();
formData.append('photo', { uri: localUri, name: filename, type });
console.log(formData)
return await fetch('https//xyxtech/Android_API_CI/upload_multipart_data', {
method: 'POST',
body: formData,
// header: {
// 'content-type': 'multipart/form-data',
// },
headers: {'Accept': 'application/json, text/plain, */*', 'content-type': 'multipart/form-data'},
})
.then((returnValue) => returnValue.json())
// .catch(err=>err)
.then(function(response) {
console.log(response)
Alert.alert("File uploaded");
// return response.json();
});
};