Ich habe eine einfache Grails Datei Upload app.
Ich verwende transferTo, um die Datei im Dateisystem zu speichern.
Um den Basispfad in meinem Controller zu erhalten, verwende ich
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"
Aus irgendeinem Grund ist dies immer null, wenn ich es auf meinem WAS 6.1-Server einsetze.
Warum funktioniert es im Dev-Modus, aber nicht im Prod-Modus auf dem WAS-Server? Sollte ich auf diese Informationen auf eine andere Weise zugreifen?