Реагировать на проблему с загрузкой исходных файлов - PullRequest
1 голос
/ 14 мая 2019

Я использую 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);
    });

Пожалуйста, дайте мне знать, если я допустил какие-либо ошибки в своем коде, например, в полях, или что-то еще, это было бы действительнополезно для меня

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...