2009-10-21 6 views

Répondre

2

Téléchargez-vous des demandes multi-parties? La requête a peut-être déjà été traitée en une requête Spring MultipartRequest par Grails, auquel cas vous pouvez utiliser getFile() pour obtenir le contenu du téléchargement.

Sinon, request.inputStream devrait fonctionner correctement.

acclamations

Lee

+0

Non, je ne fais pas multipart. La chose étrange est, j'ai créé une servlet et l'enregistre dans web.xml (grails install-templates), mais son request.getInputStream() est vide aussi. Étant curieux, j'ai extrait ce même servlet dans un nouveau Java Web ordinaire (Eclipse New Project), et cela fonctionne. Une idée pourquoi? – wiradikusuma

+0

Aucune idée, cela semble très étrange. Pouvez-vous le reproduire avec une toute nouvelle application Grails? Si c'est le cas, je créerais un rapport de bogue JIRA et j'attacherais le projet exemple. – leebutts

1

Pour moi, cela fonctionne quand je demande la méthode du contrôleur avec MIME "application/octet-stream" et envoie des données dans la demande. Que dans le contrôleur, je peux simplement faire:

def test() { 
    byte[] requestData = IOUtils.toByteArray(request.getInputStream()) 
} 

Qu'il est :-)