在Blooku中存储Blob(或类似的云服务)

Per*_*ega 3 java blob heroku playframework

我想在Heroku中部署一个应用程序来尝试他们的新游戏!框架支持.对于我在网站上看到的内容(我要承认我还没有尝试过),他们没有提供任何文件系统.这意味着(可能)Play存储文件中使用的Blob字段将无法正常工作.

有人可以:

  • 确认您是否可以在Heroku中使用Play Blob?
  • 提供在Heroku中存储文件的"最佳"替代方案?最好将它们存储在数据库中(它们使用PostgreSQL)还是其他地方?

Jam*_*ard 6

我举了一个如何在github上使用Amazon S3执行此操作的示例: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();
Run Code Online (Sandbox Code Playgroud)