java访问Apache Tapestry页面中上载的文件
我正在使用apachetapestryv5。我已经在表单中使用了普通的Tapestry上载组件。为了获得更好的用户体验,我现在尝试集成Dropzone。js在普通Tapestry页面中没有任何形式。JavaScript集成工作正常。上传的文件数据通过post请求传输到我的服务器,我可以访问该请求及其所有参数
我现在的问题是如何访问上传文件的二进制数据(可能作为InputStream)以将其保存在我的系统中?我已经注入了http请求,但是getInputStream返回一个空流
谢谢你的建议
/** Code snippet of page java part */
...
@Inject
protected HttpServletRequest _request;
public void onActivate (String rowId) {
String fileName=_request.getParameter("file");
try {
InputStream is=_request.getInputStream();
// if I do read from is it returns -1
// :-(
doSomeSaveStuff(is); // dummy code
}
catch(Exception e) {
e.printStackTrace();
}
}
...
# 1 楼答案
这里有一种方法:
在模板中:
<t:form t:id="testForm" class="dropzone"> </t:form>
在第页。爪哇
上传的文件包含您上传的内容,您可以按照自己的方式使用它
注意:
HttpServletRequest::getParameterMap()
告诉我文件的句柄名为file
,这就是我如何知道将file
传递给getFileUpload
可以使解码器正确解析多部分/post的原因