Загрузка изображений Java хранится в Amazon S3 - PullRequest
3 голосов
/ 15 сентября 2011

Не удается найти некоторые примеры, показывающие, как я могу использовать Java, чтобы позволить пользователям загружать изображения в Amazon S3.

Поток:

  1. Пользователь включенHTML-форма с элементом формы ввода файла.

  2. Эта форма передает выбранное изображение сервлету.

  3. Этот сервлет обрабатывает изображение и сохраняет егов S3.

Кто-нибудь знает какие-либо хорошие ссылки / учебные пособия, которые обрисовывают в общих чертах пример кода для выполнения этого?

Ответы [ 3 ]

8 голосов
/ 15 сентября 2011

Для 3-го пункта:

  • Grab jets3t
  • Это простое руководство.Вот фрагмент кода, который я использую:

    S3Object fileObject = new S3Object(path);
    fileObject.setDataInputStream(is);
    s3service.putObject(bucketName, fileObject);
    

Для предыдущих двух пунктов - посмотрите на этот вопрос

1 голос
/ 30 декабря 2011

Рекомендую вам использовать html amazon API для этого. Потоковая передача немного сложна, и в большинстве случаев она вам не нужна.

0 голосов
/ 22 января 2013

Вы также можете использовать простую форму для загрузки файла в S3 Bucket.Посмотрите на этот пример http://aws.amazon.com/articles/1434

Пример формы:

<html> 
  <head>
    <title>S3 POST Form</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  </head>

  <body> 
    <form action="https://s3-bucket.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
      <input type="hidden" name="key" value="uploads/${filename}">
      <input type="hidden" name="AWSAccessKeyId" value="YOUR_AWS_ACCESS_KEY"> 
      <input type="hidden" name="acl" value="private"> 
      <input type="hidden" name="success_action_redirect" value="http://localhost/">
      <input type="hidden" name="policy" value="YOUR_POLICY_DOCUMENT_BASE64_ENCODED">
      <input type="hidden" name="signature" value="YOUR_CALCULATED_SIGNATURE">
      <input type="hidden" name="Content-Type" value="image/jpeg">
      <!-- Include any additional input fields here -->

      File to upload to S3: 
      <input name="file" type="file"> 
      <br> 
      <input type="submit" value="Upload File to S3"> 
    </form> 
  </body>
</html>
...