React Native fs RNFS.UploadFiles Не удалось подключиться к localhost / 127.0.0.1: 7171 - PullRequest
0 голосов
/ 08 марта 2020

Вот код, который я использую для загрузки файла с собственного клиента на сервер nodejs. Однако, когда я вызываю эту функцию для загрузки файла на сервер, она выдает эту ошибку Failed to connect to localhost/127.0.0.1:7171. Я проверил сервер узла с почтальоном, и он работает нормально. Кроме того, я попробовал решение, которое устанавливает android:usesCleartextTraffic="true" в манифесте android, но это решение не сработало.

async uploadToNode() {
let testUrl = this.state.multipleFile[0].uri;
const split = testUrl.split('/');
const name = split.pop();
const setFileName = "file"
const inbox = split.pop();
const realPath = `${RNFS.TemporaryDirectoryPath}${inbox}/${name}`;
console.log(realPath);
const uploadUrl = "http://localhost:7171/uploadToIpfs";

var file = [{
  name: "file",
  filename:name,
  filepath: realPath,
}];

var uploadBegin = (response) => {
  const jobId = response.jobId;
  console.log('UPLOAD HAS BEGUN! JobId: ' + jobId);
};

var uploadProgress = (response) => {
  const percentage = Math.floor((response.totalBytesSent / response.totalBytesExpectedToSend) * 100);
  console.log('UPLOAD IS ' + percentage + '% DONE!');
};

 RNFS.uploadFiles({
  toUrl: uploadUrl,
  files: file,
  method: 'POST',
  headers: {
     'Accept': 'application/json',
  },
  begin: uploadBegin,
  progress: uploadProgress
  })
  .promise.then((response) => {
    console.log(response,"<<< Response");
    if (response.statusCode == 200) { //You might not be getting a statusCode at all. Check
       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("Some Error"+ err);
   });
}
...