ユーザーが自分のweb-app/images
フォルダにあるファイルをダウンロードできるようにしたい
次のようなアクションを作成しました。
def download () {
def file = new File (params.filepath)
if (file.exists()) {
response.setContentType("application/octet-stream")
response.setHeader("Content-disposition", "filename=${file.name}")
response.outputStream << file.bytes
return
}
}
ただし、ファイルパスを渡すと、/images/myimage.jpeg
その画像が見つかりません。
質問
コードを次のように変更できるように、grails アプリケーションがデプロイされている絶対パスを取得するにはどうすればよいですか。
def file = new File (absolutePath + params.filepath)
ノート
System.properties['base.dir']
ローカルでは動作しますが、Tomcat にデプロイされた場合は動作しません。