Я использую https://github.com/itinance/react-native-fs для загрузки файлов, но он не отправляет ни одного запроса на мой сервер, и иногда он вызывает ошибку socket-io, проверьте мой текущий код, который я использовал.
Я пробовал простой выбор с использованием данных формы, но он работает только для ios, а не в Android
const toUrl = 'http://***';
const name = 'file_XCzY_SINGLE_FILE_POST';
const filename = 'IMG-20190514-WA0003.jpg';
const filepath = 'content://com.android.providers.media.documents/document/image%3A209152';
const filetype = 'image/jpeg';
const params = {
c2f: "HP4S",
isIOS: false,
meta_Chartfield_Number: '121212',
meta_Comments: "",
meta_Department: "%user_ldap_department%",
meta_Due_date_Poster_Order_Form: null,
meta_Due_time_Poster_Order_Form: "4 pm",
meta_Email: "%user_ldap_mail%",
meta_Name123: "%user_ldap_displayName%",
name: "file_XCzY_SINGLE_FILE_POST",
the_action: "STOR",
uploadPath: "%2FTest%2F"
};
const uploadBegin = (response) => {
const jobId = response.jobId;
console.log('UPLOAD HAS BEGUN! JobId: ' + jobId);
};
const uploadProgress = (response) => {
const percentage =
Math.floor((response.totalBytesSent/response.totalBytesExpectedToSend)
* 100);
console.log('UPLOAD IS ' + percentage + '% DONE!');
};
RNFS.uploadFiles({
toUrl: encodeURI(url),
files: [{
name
filename
filepath
filetype
}],
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
'Cookie': 'my-cookies*****'
},
fields: params,
begin: uploadBegin,
beginCallback: uploadBegin,
progressCallback: uploadProgress,
progress: uploadProgress
}).promise.then((response) => {
console.log(response,"<<< Response");
if (response.statusCode == 200) {
console.log('FILES UPLOADED!');
} else {
console.log('SERVER ERROR');
}
})
.catch((err) => {
if (err.description) {
switch (err.description) {
case "cancelled":
console.log("Upload cancelled");
break;
case "empty":
console.log("Empty file");
default:
//Unknown
}
} else {
//Weird
console.log('Weird')
}
console.log(err);
});
Пожалуйста, дайте мне знать, если я допустил какие-либо ошибки в своем коде, например, в полях, или что-то еще, это было бы действительнополезно для меня
Спасибо.