【问题标题】:Handling file uploads in Play Framework on Heroku [duplicate]在 Heroku 上的 Play Framework 中处理文件上传 [重复]
【发布时间】:2011-09-06 01:23:41
【问题描述】:

可能重复:
Store Blob in Heroku (or similar cloud services)

我意识到 Heroku 有一个只读文件系统,并查看了关于 attachment_fu 和其他类似 Ruby gem 的 SO 问题,用于以暂时的方式处理文件上传,因此它们永远不会真正命中磁盘(临时除外)直到它们被写入 Amazon S3。但是,我想在我即将进行的项目中使用 Play Framework (Java),并且需要支持将图片上传到画廊。

显然,我需要使用像 S3 这样的可写后备存储或数据库 blob 字段:只要它适用于低容量网站(每月数百个请求),我就不会与任何一个结婚。有人在 Heroku 上玩过吗?我是 Play Framework 的新手,也是 Heroku 的新手,所以即使是非常明显的答案也会有所帮助!

【问题讨论】:

  • 我在这两个地方都发布了我的答案。不知道在 SO 上受骗的典型礼仪是什么。

标签: heroku amazon-s3 playframework


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-07-02
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 2018-11-15
    相关资源
    最近更新 更多