Ho una semplice app per caricare file di Grails.grails base.dir proprietà di sistema
Sto utilizzando transferTo per salvare il file nel file system.
per ottenere il percorso base nel mio controller sto usando
def basePath = System.properties['base.dir'] // HERE IS HOW I GET IT
println "Getting new file"
println "copying file to "+basePath+"/files"
def f = request.getFile('file')
def okcontents = ['application/zip','application/x-zip-compressed']
if (! okcontents.contains(f.getContentType())) {
flash.message = "File must be of a valid zip archive"
render(view:'create', model:[zone:create])
return;
}
if(!f.empty) {
f.transferTo(new File(basePath+"/files/"+zoneInstance.title+".zip"))
}
else
{
flash.message = 'file cannot be empty'
redirect(action:'upload')
}
println "Done getting new file"
Per qualche ragione questo è sempre nullo quando schierato al mio WAS 6.1 del server.
Perché funziona quando si esegue dev ma non in prod sul server WAS? Dovrei accedere a queste informazioni in un modo diverso?
Questo è un modo migliore per andare oltre la risposta accettata corrente. –