2010-10-06 1 views
0

J'essaye de mettre en place un service Web dans les grails qui peuvent accepter un dossier. Comment puis-je obtenir le fichier de la demande?comment obtenir un fichier arbitraire d'une requête HTTP dans les grails

Je teste cela avec quelque chose comme

curl -d somefile.tar http://localhost:8080/MyWebS/fileWS 

et ma méthode se présente comme suit:

def index = { 
    switch(request.method){ 
    case "POST": 
    render "Ingesting file\n" 
    request.each { 
    println("--> " + it) 
    } 
    def uploadedFile = request.getFile() //<--this is the line that doesnt work..what should it be? 
    File f=new File('c:/dev/newfile.tar'); 
    uploadedFile.transferTo(f); 

    break 
    } 
} 
+0

Dupliquer http://stackoverflow.com/questions/3786329/upload-a-file-to-a-grails-project-and-then-inserted-to-database –

+0

Ce n'est pas tout à fait un doublon. J'essaye de mettre ceci pour être testé avec curl – Derek

Répondre

0

Qu'advient-il si vous essayez

curl -F [email protected] http://localhost:8080/MyWebS/fileWS 

Et puis sur les Grails côté

def uploadedFile = request.getFile('file') 
+0

Donc quelque chose d'autre qui appelle mon webservice (disons d'un certain projet de C#) devrait juste appeler ma méthode avec un paramètre appelé le dossier? – Derek

+0

Si vous ne faites que diffuser des données à la demande, vous voulez probablement le lire à partir de request.inputStream –

Questions connexes