2

У меня есть рабочая форма загрузки в моем webapp, которая позволяет пользователю загружать файлы со своего компьютера. Файл загружается непосредственно на amazon s3, не пропуская мой первый серверПрямая загрузка с Google Drive на amazon s3

вот как выглядит моя форма, а Im использует плагин для загрузки файла jquery.

<form class="startfileupload" action="//s3-us-west-2.amazonaws.com/<?php echo AMAZON_S3_BUCKET ?>/" method="POST" enctype="multipart/form-data" > 
     <input type="hidden" name="key" value="<?php echo $file_name;?>" > 
     <input type="hidden" name="AWSAccessKeyId" value="<?php echo AMAZON_KEY ?>"> 
     <input type="hidden" name="acl" value="private"> 
     <input type="hidden" name="policy" value="<?php echo $aws['base64Policy']; ?>"> 
     <input type="hidden" name="signature" value="<?php echo $aws['signature']; ?>"> 
     <input id="uploadinput" type="file" accept=".xls,.xlsx,.doc,.docx,.ppt,.pptx,.jpg,.jpeg,.png,.bmp, 
      .pdf, .zip" name="file" multiple=""/> 

Я хочу, чтобы дать пользователям возможность для пользователей, чтобы выбрать файлы из своего диска Google, используя API Диска я добавил сборщик Google, который позволяет пользователю выбрать файлы оттуда.

после того, как они выбрали файл, я получаю обратный вызов метаданных файла (включая URL-адрес файла).

Как я могу использовать это для загрузки файла непосредственно на s3?

Я не хочу загружать файл на свой сервер, а затем копировать его на s3, я хочу загрузить файл dircetly на s3. Возможно ли это, если вы не загрузите файл на стороне клиента, а затем загрузите его?

Thx

ответ

1

Единственный способ, чтобы загрузить файл на S3, чтобы отправить файл S3.

S3 не имеет возможности извлекать объект из внешнего URL-адреса.

Загрузите на свой сервер прямо из Google, а затем загрузите его на S3 или вы можете использовать AWS Lambda, вызванный через AWS API Gateway, для обработки фактической загрузки/выгрузки в фоновом режиме (синхронизация или асинхронный).

+0

ok Я вижу, поэтому вопрос, как я могу использовать ссылку, которую я получил, чтобы загрузить этот файл на свой сервер? сервер не аутентифицирован с учетными данными пользователя, поэтому как он может получить доступ к файлу для его загрузки? –

+1

вы не делаете. вы загружаете его на стороне клиента, используя Javascript, а затем отправляйте сообщение в s3. bo. –

Смежные вопросы