Mam prostą aplikację do przesyłania plików grails.grails base.dir system property
Używam transferTo do zapisania pliku w systemie plików.
Aby uzyskać ścieżkę bazową w moim kontrolera używam
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"
Z jakiegoś powodu to zawsze ma wartość null, gdy rozmieszczony na mój serwer WAS 6.1.
Dlaczego działa podczas pracy z programem, ale nie działa na serwerze WAS? Czy powinienem uzyskiwać dostęp do tych informacji w inny sposób?
Jest to lepszy sposób, aby przejść od bieżącej odpowiedzi zaakceptowane. –