ユーザーがアップロードした画像を保存するのに最適な場所について読んでいます。私の場合、これらのイメージをファイルシステムに保存する方が良いと思います。それらを同じサーバーに保存し、他の管理者が簡単に管理できるようにしたいと考えています。
アプリケーションコンテキスト内にアップロードフォルダーを設定し、新しい war を再デプロイするときにそのフォルダーを削除しないように Grails を構成することは可能ですか?
そうでない場合は、次のコード (@yecid が取得) が機能するかどうか疑問に思います。これは、アプリケーション コンテキスト内に画像をアップロードすると思われるためです。
//for development environment
def root = System.properties['base.dir']?.toString()
if(!root){
//for production environment in war deplements
def tmpRoot = ApplicationHolder.application.mainContext.getResource('WEB-INF').getFile().toString()
root = tmpRoot.substring(0, tmpRoot.indexOf(File.separator + 'temp' + File.separator))
}
if(!root){
throw new Exception('Not found a valid path')
}
return root + File.separator