Ember-Uploader S3 загрузить неверный предпечатный ответ? - PullRequest
0 голосов
/ 06 июня 2018

Я использую Ember-Uploader для загрузки файлов прямо из браузера в s3.Политика Cors, которую я установил, выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>http://localhost:4200</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Ответ API от сервера nodejs выглядит следующим образом:

{  
   "acl":"public-read",
   "awsaccesskeyid":"AKIAJJC5RMTQE7RNOUAA",
   "bucket":"georoot",
   "Cache-Control":"max-age=630720000, public",
   "Content-Type":"image/png",
   "expires":"2018-06-06T13:00:19.000Z",
   "key":"uploads/2018-05-30-212251_1366x768_scrot.png",
   "policy":"eyJleHBpcmF0aW9uIjoiMjAxO9",
   "signature":"li7WlpwEYqX+jWqkjw72QE2DWug=",
   "success_action_status":"201"
}

Проблема заключается в том, что загрузка не удалась из-за

Не удалось загрузить http://georoot.s3.amazonaws.com/: Ответ на предпечатную проверку недействителен (перенаправление)

При проверке сетевых журналов отображается перенаправление 307, и загрузка не удалась.У меня есть конфигурация для плагина загрузки:

import Component from '@ember/component';
import EmberUploader from 'ember-uploader';
import config from '../config/environment';

export default EmberUploader.FileField.extend({

  filesDidChange(files) {
    const uploader = EmberUploader.S3Uploader.create({
      url: config.APP.UPLOAD_ENDPOINT
    });

    uploader.on('didUpload', response => {
      let uploadedUrl = $(response).find('Location')[0].textContent;
      uploadedUrl = decodeURIComponent(uploadedUrl);
    });

    if (!Ember.isEmpty(files)) {
      uploader.upload(files[0], { });
    }
  }
});

Может кто-нибудь объяснить, где я иду не так?

...