如何解决使用XMLHttpRequest的React Native上传文件中的问题错误-请求尚未打开
import DocumentPicker from 'react-native-document-picker';
var RNFS = require('react-native-fs');
const res = await DocumentPicker.pick({
type: [DocumentPicker.types.images],});
// 1. initialize request
const xhr = new XMLHttpRequest();
xhr.setRequestHeader("Accept","*/*");
// 2. open request
xhr.open('POST',serverUrl);
// 3. set up callback for request
xhr.onload = () => {
const response = JSON.parse(xhr.response);
console.log(response);
// ... do something with the successful response
};
// 4. catch for request error
xhr.onerror = e => {
console.log(e,'upload failed');
};
// 4. catch for request timeout
xhr.ontimeout = e => {
console.log(e,'cloudinary timeout');
};
// 4. create formData to upload
const formData = new FormData();
formData.append('file',{
uri: res.uri,// this is the path to your file. see Expo ImagePicker or React Native ImagePicker
type: res.type,// example: image/jpg
name: res.name // example: upload.jpg
});
// 6. upload the request
xhr.send(formData);
// 7. track upload progress
if (xhr.upload) {
// track the upload progress
xhr.upload.onprogress = ({ total,loaded }) => {
const uploadProgress = (loaded / total);
console.log(uploadProgress);
};
}
我遇到以下错误
LOG DocumentPicker res {“ fileCopyUri”:“ content://com.android.providers.media.documents/document/image%3A21”,“ name”:“ IMG_20200824_112430.jpg”,“ size”:199171,“类型”:“ image / jpeg”,“ uri”:“ content://com.android.providers.media.documents/document/image%3A21”} 警告可能的未处理的承诺拒绝(id:28): 错误:请求尚未打开 setRequestHeader @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:33086:26 onSubmit $ tryCatch @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:26922:23 invoke @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:27098:32 tryCatch @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:26922:23 invoke @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:26998:30 http://10.0.2.2:8081/index.bundle?platform=android&dev=true&minify=false:27008:21 tryCallOne @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:28860:16 http://10.0.2.2:8081/index.bundle?platform=android&dev=true&minify=false:28961:27 _callTimer @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:32400:17 _callImmediatesPass @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:32436:19 callImmediates @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:32654:33 callImmediates @ [本地代码] __callImmediates @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:2719:35 http://10.0.2.2:8081/index.bundle?platform=android&dev=true&minify=false:2505:34 __guard @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:2702:15 flushedQueue @ http://10.0.2.2:8081 / index.bundle?platform = android&dev = true&minify = false:2504:21 flushedQueue @ [本地代码] invokeCallbackAndReturnFlushedQueue @ [本机代码]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。