Grails,从控制器(甚至Servlet)获取InputStream
我试图从请求中获取inputStream,但它总是空的。有什么想法吗Grails,从控制器(甚至Servlet)获取InputStream,grails,controller,inputstream,Grails,Controller,Inputstream,我试图从请求中获取inputStream,但它总是空的。有什么想法吗 如何获取它的内容?我正在尝试从中生成DataInputStream。您正在上载多部分请求吗?Grails可能已经将该请求处理为Spring MultipartRequest,在这种情况下,您可以使用getFile()获取上载内容 如果没有,那么request.inputStream应该可以正常工作 干杯 Lee您正在上载多部分请求吗?Grails可能已经将该请求处理为Spring MultipartRequest,在这种情况下
如何获取它的内容?我正在尝试从中生成DataInputStream。您正在上载多部分请求吗?Grails可能已经将该请求处理为Spring MultipartRequest,在这种情况下,您可以使用getFile()获取上载内容 如果没有,那么request.inputStream应该可以正常工作 干杯
Lee您正在上载多部分请求吗?Grails可能已经将该请求处理为Spring MultipartRequest,在这种情况下,您可以使用getFile()获取上载内容 如果没有,那么request.inputStream应该可以正常工作 干杯
Lee对我来说,当我使用“应用程序/八位字节流”MIME请求控制器方法并在请求中发送一些数据时,它会起作用。在控制器中,我可以简单地执行以下操作:
import org.apache.commons.io.IOUtils
def test() {
byte[] requestData = IOUtils.toByteArray(request.getInputStream())
}
就是这样:-)对我来说,当我使用“应用程序/八位字节流”MIME请求控制器方法并在请求中发送一些数据时,它会起作用。在控制器中,我可以简单地执行以下操作:
import org.apache.commons.io.IOUtils
def test() {
byte[] requestData = IOUtils.toByteArray(request.getInputStream())
}
就是这样:-)不,我没有做多部分。奇怪的是,我创建了一个servlet并在web.xml(grails安装模板)中注册了它,但是它的request.getInputStream()也是空的。出于好奇,我将同一个servlet提取到一个新的普通JavaWeb(EclipseNewProject)中,它可以正常工作。知道为什么吗?不知道,听起来很奇怪。你能用一个全新的Grails应用程序复制它吗?如果是这样的话,我会创建一个JIRA bug报告并附上示例项目。不,我没有做多部分。奇怪的是,我创建了一个servlet并在web.xml(grails安装模板)中注册了它,但是它的request.getInputStream()也是空的。出于好奇,我将同一个servlet提取到一个新的普通JavaWeb(EclipseNewProject)中,它可以正常工作。知道为什么吗?不知道,听起来很奇怪。你能用一个全新的Grails应用程序复制它吗?如果是这样的话,我会创建一个JIRA bug报告并附上示例项目。从何处导入
IOUtils
?它是apache库org.apache.commons.io.IOUtils
,将修复我的答案…谢谢,最后我使用了grails.io
,因为org.apache.commons.io
导入在我的项目中无法解决。应该从哪里导入IOUtils
?它是apache库org.apache.commons.io.IOUtils
,将修复我的答案…谢谢,最后,我使用了grails.io
,因为在我的项目中无法解决导入问题?您应该知道数据是以MultipartFile
还是ByteArray
的形式出现的。如果您发送一个文件,您应该像这样检索它:request.getFile('file')
。但是如果它是一个字节数组
,输入流
应该用它来填充。您如何发送数据?您应该知道数据是以MultipartFile
还是ByteArray
的形式出现的。如果您发送一个文件,您应该像这样检索它:request.getFile('file')
。但是如果它是一个字节数组
,输入流
应该用它来填充。