Я ищу какие-либо прямые форвардные примеры на загрузку непосредственно Amazon s3 на кусках без каких-либо обработок на стороне сервера (кроме подписания запроса)Выгрузки фрагментированных файлов непосредственно на Amazon s3
Я посмотрел на множество вариантов и пока все примеры либо адресованы только фрагментации с сервера, либо просто отправляются на s3 из браузера в виде одного набора, или они настолько стары, что они just don't work anymore.
Наибольшая надежда была Plupload, но я не могу найти документацию для разделения больших файлы в куски, по крайней мере, не на примере амазонки.
В конечном счете, цель состоит в том, чтобы отправить файл размером 500 МБ в s3 менее чем за 5 секунд. Используя сервер в php, я могу приблизиться к 10 секундам, но клиент хочет полностью отказаться от обработки сервера и перейти прямо к s3, так что это те правила, которыми я связан.
Я нахожу документацию Амазонки чрезвычайно сложной и труднодоступной. Кто-нибудь знает, как полный пример блокировки браузера s3?
Основная идея настройки Plupload:
$("#uploader").plupload({
runtimes : 'html5,flash,silverlight',
url : 'http://<?php echo $bucket; ?>.s3.amazonaws.com/',
multipart: true,
multipart_params: {
'key': '${filename}', // use filename as a key
'Filename': '${filename}', // adding this to keep consistency across the runtimes
'acl': 'public-read',
'Content-Type': 'Binary/Octet-Stream',
'AWSAccessKeyId' : '<?php echo $accessKeyId; ?>',
'policy': '<?php echo $policy; ?>',
'signature': '<?php echo $signature; ?>',
'Multiple_queues': True,
},
file_data_name: 'file',
filters : {
// Maximum file size (apparently not per chunk)
max_file_size : '5mb',
},
flash_swf_url : '../js/Moxie.swf',
silverlight_xap_url : '../js/Moxie.xap'
});
кажется многочастному не несколько кусков, но, возможно, несколько файлов в общей сложности. Не уверен, мне нужно только отправить его.
Любой ввод оценивается.
Чтобы уточнить ... вы хотите отправить файл на S3 с компьютера клиента (пользователя) или с сервера? Если последний, просмотрите ли вы класс '' Transfer' (https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.S3.Transfer.html) в AWS SDK для PHP? Он поддерживает многостраничную загрузку. –
От клиента. Стандартная библиотека AWS обрабатывает серверные передачи прямо из коробки, но неудобно замаскивается над каналом от клиента. –
Возможно [Объявление управляющего загрузчика Amazon S3 в AWS SDK для JavaScript] (https://blogs.aws.amazon.com/javascript/post/Tx3EQZP53BODXWF/Announcing- the-Amazon-S3-Managed-Uploader-in-the -AWS-SDK для JavaScript) или [HTML5 и Amazon S3 Multi-Part uploads] (https://stackoverflow.com/questions/18075676/html5-and-amazon-s3-multi-part-uploads)? Последний использует [AWS S3 Multipart Upload from Browser] (https://github.com/ienzam/s3-multipart-upload-browser). –