Загрузить файл изображения с сервера s3 в кордове с помощью плагина filetransfer

Я пытаюсь загрузить изображения с сервера s3, используя cordova-plugin-file-transfer

мой код работает с другими изображениями с Google или разных серверов. но когда я пытался загрузить с s3, он показывает ошибку.

downloadimg ="https://s3.amazonaws.com/bucket/img/5.jpg";           
var fileTransfer = new FileTransfer();
var uri = encodeURI(downloadimg);
var package_root = cordova.file.externalRootDirectory + ".appname";
var imgindex = downloadimg.lastIndexOf("/") + 1;
var imgname = downloadimg.substr(imgindex);
var fileURL = package_root + imgname;
console.log(uri);
console.log(fileURL);
fileTransfer.download(
uri,
fileURL,
function (entry) {
console.log("success");
},
function (error) {
    console.dir(error);
},
false,
{
    headers: {
        "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
    }
}
);

я пробовал добавить {encodeURI: false}; и «Content-type»: «image / jpg» в заголовке параметра, но не сработало.

0
0
364
1

Ответы 1

Попробуй это:

  1. Включите конфигурацию CORS.
  2. Удалить аутентификацию заголовка
  3. Проверьте политику корзин (вы можете протестировать, чтобы объект стал общедоступным)

Надеюсь помочь вам.

пожалуйста, опубликуйте свою конфигурацию CORS

ene_salinas 31.10.2018 16:28

<CORSConfiguration> <CORSRule> <AllowedOrigin> * </AllowedOrigin> <AllowedMethod> GET </AllowedMethod> <MaxAgeSeconds> 3000 </MaxAgeSeconds> <AllowedHeader> Авторизация </AllowedORSCuader> </Culeonfiguration> </AllowedORSCuader> </Cuser

mayur sawant 31.10.2018 16:32

Я установил content-Type: image в метаданных, а для Content-Disposition доступен только параметр «прикрепление», если я установил content-Disposition для прикрепления, URL-адрес изображения напрямую получает загрузки в Chrome, не отображает изображение.

mayur sawant 31.10.2018 16:42

ок, подумал, что нужно скачать образ, удалить вложение;)

ene_salinas 31.10.2018 23:40

ошибка, я получаю из тела плагина filetransfer: "<? xml version =" 1.0 "encoding =" UTF-8 "?> ↵ <Error> <Code> InvalidArgument </Code> <Messa ge> Неподдерживаемый тип авторизации </Message> <Имя_аргумента> Авторизация </ Имя_аргумента> <Арг umentValue> Основные dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA == </ ArgumentValue> <Идентификатор запроса> C4E0DF318D79BA76 </ RequestID> <HOSTID> м zZOiZnZEVZ19AtKEVc21 ULjmd0Tl6L + UAA / uOEAS EkC3zlx5qW9FNkzCYaHX ciLaPKU78H7Nbc = </ Hos‌ tId> </Error> "код: 1 исключение:" s3.amazonaws.com/bucket/img/5.jpg "http_status: 400 источник:" s3.amazonaws.com/bucket/img/5.jpg "цель:" file: ///storage/emulated/0/app/5.jpg "

mayur sawant 01.11.2018 07:42

Пожалуйста, опубликуйте это изображение и попробуйте еще раз

ene_salinas 02.11.2018 06:05

Также удалите заголовок auth

ene_salinas 02.11.2018 06:06

Другие вопросы по теме