java - 在 Heroku(或类似的云服务)中存储 Blob

标签 java heroku playframework blob

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

有人可以:

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

最佳答案

我在 github 上放了一个如何使用 Amazon S3 执行此操作的示例:
https://github.com/jamesward/plays3upload

基本上您只需要将文件发送到 S3 并将 key 保存在实体中:

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();

关于java - 在 Heroku(或类似的云服务)中存储 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258965/

相关文章:

java - 在集群上运行 Apache Spark 应用程序时是否可以缓存应用程序 jar?

java - JTable regexFilter right int 来过滤第一列?

java - 从相同的源代码构建可以产生功能不同的可执行文件吗?

node.js - 简单的 node.js 套接字服务器

ruby-on-rails - Heroku + Refinery + S3 : get "Unknown region" error

jpa - 具有唯一约束的 ebean 单向 @OneToOne 关系

java - 未检测到文本字段和密码字段

mysql - 与 Heroku 连接的 JawsDB 错误

java - 使用 native 查询级联删除

playframework - 我无法自定义模块 securesocial 为 play2 提议的 View , "not found: type RequestHeader "