Прямые загрузки на S3 с Fineuploader и Shrine
Я пытаюсь использовать Shrine и fineuploader вместе, чтобы загрузить свои файлы непосредственно в S3.
Проблема, с которой я сталкиваюсь, заключается в том, что presign_endpoint для драгоценного камня Shrine - это запрос GET, который возвращает ответ json, отформатированный так:
{
"url": "https://my-bucket.s3-eu-west-1.amazonaws.com",
"fields": {
"key": "b7d575850ba61b44c8a9ff889dfdb14d88cdc25f8dd121004c8",
"policy": "eyJleHBpcmF0aW9uIjoiMjAxNS0QwMToxMToyOVoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJzaHJpbmUtdGVzdGluZyJ9LHsia2V5IjoiYjdkNTc1ODUwYmE2MWI0NGU3Y2M4YTliZmY4OGU5ZGZkYjE2NTQ0ZDk4OGNkYzI1ZjhkZDEyMTAwNGM4In0seyJ4LWFtei1jcmVkZW50aWFsIjoiQUtJQUlKRjU1VE1aWlk0NVVUNlEvMjAxNTEwMjQvZXUtd2VzdC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotZGF0ZSI6IjIwMTUxMDI0VDAwMTEyOVoifV19",
"x-amz-credential": "AKIAIJF55TMZYT6Q/20151024/eu-west-1/s3/aws4_request",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-date": "20151024T001129Z",
"x-amz-signature": "c1eb634f83f96b69bd675f535b3ff15ae184b102fcba51e4db5f4959b4ae26f4"
},
"headers": {}
}
Fineuploader использует конечную точку подписи, которая выполняет запрос POST, поэтому возвращает ошибку "метод не разрешен".
var uploader = new qq.s3.FineUploader({
request: {
endpoint: '{ CDN_ENDPOINT_URL }'
accessKey: '{ ACCESS_KEY }'
},
objectProperties: {
bucket: '{ BUCKET_NAME }'
host: '{ BUCKET_HOST_NAME }'
},
signature: {
endpoint: '/presign'
}
});
Есть ли способ изменить метод подписи Fineuploader на метод GET, или я совершенно не в том направлении? Любые советы по созданию этой функции приветствуются.
Я хотел бы сделать что-то похожее на https://github.com/gorails-screencasts/shrine-direct-upload-to-s3/blob/master/app/assets/javascripts/uploads.js но с тонкой загрузкой.