Магазин Blob в Heroku (или аналогичных облачных сервисах) - PullRequest
3 голосов
/ 31 августа 2011

Я хочу развернуть приложение в Heroku , чтобы попробовать их новую Play!Рамочная поддержка.Что я прочитал на сайте (должен признаться, я еще не пробовал), они не предоставляют никакой файловой системы.Это означает, что (возможно) поля Blob, используемые в Play для хранения файлов, не будут работать должным образом.

Может кто-нибудь:

  • Подтвердить, если вы можете использовать Blob Play в Heroku?
  • Предоставить «лучшую» альтернативу для хранения файлов в Heroku?Лучше хранить их в базе данных (они используют PostgreSQL) или где-то еще?

1 Ответ

6 голосов
/ 07 сентября 2011

Я привел пример того, как сделать это с Amazon S3 на github:
https://github.com/jamesward/plays3upload

В основном вам просто нужно отправить файл на S3 и сохранить ключ в сущности:

AWSCredentials awsCredentials = new BasicAWSCredentials(System.getenv("AWS_ACCESS_KEY"), System.getenv("AWS_SECRET_KEY"));
AmazonS3 s3Client = new AmazonS3Client(awsCredentials);
s3Client.createBucket(BUCKET_NAME);
String s3Key = UUID.randomUUID().toString();
s3Client.putObject(BUCKET_NAME, s3Key, attachment);
Document doc = new Document(comment, s3Key, attachment.getName());
doc.save();
listUploads();
...