Я пытаюсь отправить файлы JSON на сервер, используя NodeJS с multer, и я могу отправить файлы в iOS, но в Android отображается ошибка.
var uploadUrl ='http://192.168.1.15:3333/SurveyJsonFiles/GetFiles/'
/*working for iOS*/
const data = new FormData();
data.append('files', {
uri: filePath,
type: 'multipart/form-data',
name: fileName,
});
const config = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
},
body: data,
};
fetch(uploadUrl, config)
.then((checkStatusAndGetJSONResponse) => {
console.log(checkStatusAndGetJSONResponse);
}).catch((err) => {
console.log(err)
});
Ошибка в Android:
TypeError: сбой сетевого запроса в XMLHttpRequest.xhr.onerror (whatwg-fetch.js: 504) в XMLHttpRequest.dispatchEvent (event-target.js: 172) в XMLHttpRequest.setReadyState (XMLHttsRequest (XMLHttsRequest.580) в XMLHttpRequest .__ didCompleteResponse (XMLHttpRequest.js: 394) в XMLHttpRequest.js: 507 в RCTDeviceEventEmitter.emit (EventEmitter.js: 181) в MessageQueue .__ callFunction (MessageQueueue.jue: at.__guard (MessageQueue.js: 314) в MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js: 105)
Код работает должным образом в iOS.
Что я пробовалисправить
1) Я добавил cleartextTrafficPermitted="true"
в Manifest.xml
2) Я пытался использовать многие нативные библиотеки, такие как
a) ** реагируют один тысяча двадцать один родной-Background-upload .
b) response-native-uploader .
c) upload-native-fs загрузка файла .
3) Я пытался снизить версию Android до 8.0
ОБНОВЛЕНИЕ
Я изменил uri: filePath,
на uri: 'file://'+filePath,
Затем ошибка устраняется, но файлы по-прежнему не загружаются.
Новые журналы выглядят следующим образом:
headers: Headers {map: {…}}
ok: true
status: 200
statusText: undefined
type: "default"
url: "http://192.168.1.15:3333/SurveyJsonFiles/GetFiles/"
_bodyBlob: Blob {_data: {…}}
_bodyInit: Blob {_data: {…}}
__proto__: Object
Я получаю такой же журнал для iOS, нофайлы загружаются.