2011-08-31 35 views
3

我想部署一個應用程序在Heroku嘗試新的Play!框架支持。對於我在網站上讀到的內容(我必須承認我還沒有嘗試過),他們沒有提供任何文件系統。這意味着Play中用於存儲文件的(可能)Blob字段將無法正常工作。在Heroku中存儲Blob(或類似的雲服務)

有人能:

  • 確認是否可以使用在Heroku的播放斑點?
  • 提供在Heroku中存儲文件的「最佳」選擇?最好將它們存儲在數據庫(它們使用PostgreSQL)或其他地方?

回答

6

我把如何與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(); 
+0

謝謝,非常有用! –

相關問題