Как Cordova сообщает браузеру для разрешения FileTransfer CORS - PullRequest
0 голосов
/ 26 февраля 2020

Я пишу программу, используя javascript и плагин Cordova, в противном случае некоторые методы загрузки и выгрузки используют Cordova FileTransfer.

Но, к сожалению, при загрузке или загрузке любого файла всегда отображается:

"Доступ к XMLHttpRequest в 'http://doc.google.com/www/data/survey/test.txt' из источника 'http://localhost: 007 / index.html # home ' заблокирован политикой CORS: На запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Вот скрипт загрузки:

let fileTransfer = new FileTransfer(), store = cordova.file.dataDirectoy;

fileTransfer.download("http://doc.google.com/www/data/survey/test.txt", store + "test.txt",
  function(entry) { ... },
  function(error) { console.log(error); },
  false,
  {
      headers: {
          "Access-Control-Allow-Origin": "*",
          "Content-Type": "text/plain",
          "Authorization": "Basic dGVzdHVzZXJuYW1lOnR1c3RwYXNzd29yZA=="
      }
  }
);

Кто-нибудь может помочь, пожалуйста, pls?

Как сообщить браузеру о «разрешении CORS» с помощью cordova FileTransfer?

Заранее спасибо.

1 Ответ

0 голосов
/ 26 февраля 2020

добавьте https://cors-anywhere.herokuapp.com/ в ваш URL, и это обойдет ошибку CORS.

В вашем случае вы можете написать так:

let fileTransfer = new FileTransfer(), store = cordova.file.dataDirectoy;

fileTransfer.download("https://cors-anywhere.herokuapp.com/http://doc.google.com/www/data/survey/test.txt", store + "test.txt",
  function(entry) { ... },
  function(error) { console.log(error); },
  false,
  {
      headers: {
          "Access-Control-Allow-Origin": "*",
          "Content-Type": "text/plain",
          "Authorization": "Basic dGVzdHVzZXJuYW1lOnR1c3RwYXNzd29yZA=="
      }
  }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...