デフォルトで指定されているPostgresではなく、herokuでClearDB MySQLを使用しています。私のコードは、ローカル マシンで問題なく動作します。これが私のダウンロードファイル方法です:
public static void downloadFile(long id) throws Exception {
final Article doc = Article.findById(id);
notFoundIfNull(doc);
User current_user = User.find("byEmail", Security.connected()).first();
if(!current_user.equals(doc.author)){
SelectedArticles selectedArticle = SelectedArticles.find("byArticleAndReviewer", doc, current_user).first();
if(selectedArticle == null)
{
SelectedArticles newSelected = new SelectedArticles(current_user, doc);
newSelected.save();
selectedArticle = newSelected;
}
selectedArticle.download();
}
response.setContentTypeIfNotSet(doc.article_pdf.type());
renderBinary(doc.article_pdf.get(), doc.pdfName);
}
これは、Heroku ログに表示される内容です。
←[36m2012-05-09T01:29:41+00:00 app[web.1]:←[0m Caused by: java.lang.NullPointerE
xception
←[36m2012-05-09T01:29:41+00:00 app[web.1]:←[0m ... 2 more
←[36m2012-05-09T01:29:41+00:00 app[web.1]:←[0m at play.mvc.results.RenderBinary
.apply(RenderBinary.java:167)