Java 条纹&x2B;如何上传文件

Java 条纹&x2B;如何上传文件,java,google-app-engine,file-upload,google-cloud-storage,stripes,Java,Google App Engine,File Upload,Google Cloud Storage,Stripes,我想在我的应用程序中实现文件上传。stripes+gae的问题是stripes在处理上传的文件之前将其存储在本地,而gae不允许这样做 我决定使用GCS和blobstoreapi来上传文件,但遇到了一些问题 我的页面代码如下所示: <form action="${actionBean.servletUploadUrl}" method="post" enctype="multipart/form-data"> <input type="file" name="m

我想在我的应用程序中实现文件上传。stripes+gae的问题是stripes在处理上传的文件之前将其存储在本地,而gae不允许这样做

我决定使用GCS和blobstoreapi来上传文件,但遇到了一些问题

我的页面代码如下所示:

<form action="${actionBean.servletUploadUrl}" method="post" enctype="multipart/form-data">
        <input type="file" name="myFile">
        <input type="submit" value="Submit">
</form>
这样我就得到了一个异常:
无法为当前请求构造多部件包装器。

2. (几乎相同,但尝试使用servlet)

getServletUploadUrl()类似于

其中
/docUpload
在web.xml中映射到
DocumentUploadServlet
,我在这里实现了
doPost
方法

我访问了那个servlet,但之后我想转到动作bean中的
saveDocument()
方法。我加了一行

req.getRequestDispatcher("/MyActionBean.action?saveDocument=").forward(req, resp);
同样,在我的第一种方式中,我得到了一个异常:
无法为当前请求构造多部件包装器。

问题似乎是条带无法包装请求,因为这两个异常如下所示:

net.sourceforge.stripes.exception.StripesRuntimeException: Could not construct a MultipartWrapper for the current request.
at net.sourceforge.stripes.controller.multipart.DefaultMultipartWrapperFactory.wrap(DefaultMultipartWrapperFactory.java:158)
at net.sourceforge.stripes.controller.StripesRequestWrapper.constructMultipartWrapper(StripesRequestWrapper.java:126)
at net.sourceforge.stripes.controller.StripesRequestWrapper.<init>(StripesRequestWrapper.java:106)
at net.sourceforge.stripes.controller.StripesFilter.wrapRequest(StripesFilter.java:295)
net.sourceforge.stripes.exception.StripesRuntimeException:无法为当前请求构造多部分包装。
位于net.sourceforge.stripes.controller.multipart.DefaultMultipartWrapperFactory.wrap(DefaultMultipartWrapperFactory.java:158)
位于net.sourceforge.stripes.controller.StripesRequestWrapper.constructMultipartWrapper(StripesRequestWrapper.java:126)
位于net.sourceforge.stripes.controller.StripesRequestWrapper.(StripesRequestWrapper.java:106)
位于net.sourceforge.stripes.controller.StripesFilter.wrapRequest(StripesFilter.java:295)

也许有更好的上传文件的方法。任何想法都很感激

在类路径中是否有apache commons文件上载?另外,您提到“stripes+gae的问题是stripes在处理上传的文件之前将其存储在本地,而gae不允许这样做”。您是否考虑过在会话中存储文件?您最终解决了这个问题吗?你能帮我把代码寄出去吗?或者我们可以通过电子邮件或下午聊天
req.getRequestDispatcher("/MyActionBean.action?saveDocument=").forward(req, resp);
net.sourceforge.stripes.exception.StripesRuntimeException: Could not construct a MultipartWrapper for the current request.
at net.sourceforge.stripes.controller.multipart.DefaultMultipartWrapperFactory.wrap(DefaultMultipartWrapperFactory.java:158)
at net.sourceforge.stripes.controller.StripesRequestWrapper.constructMultipartWrapper(StripesRequestWrapper.java:126)
at net.sourceforge.stripes.controller.StripesRequestWrapper.<init>(StripesRequestWrapper.java:106)
at net.sourceforge.stripes.controller.StripesFilter.wrapRequest(StripesFilter.java:295)