J'essaie d'obtenir inputStream à partir de la requête, mais il est toujours vide. Une idée comment obtenir le contenu de celui-ci? J'essaye d'en faire un DataInputStream.Grails, obtention d'InputStream à partir du contrôleur (ou même de Servlet)
1
A
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
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 :-)
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
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