Реактивная загрузка файлов на сервер, работающий на iOS, но не на Android - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь отправить файлы 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, нофайлы загружаются.

...