我想在我的GWT应用程序中创建一个浏览文件表单,然后使用uploadfile表单,这样我就可以使用浏览器浏览文件了,但是使用uploadfile我只能得到文件名。
有人可以告诉我如何在文件浏览器上选择文件后检索文件的完整路径吗?是否有一个返回完整路径的servlet,或者除了uploadfile表单之外还有另一种方法。
答案 0 :(得分:0)
这里你要找的是使用GWT / GXT表格面板上传文件吗?无需获取文件的完整路径或使用名称来执行此任务。您可以通过以下方式实现此目的
1.希望您已经正确添加了FormPanel,检查是否指定了这些属性
final FormPanel fp = new FormPanel();
fp.setAction("url which handles file uploads");
fp.setEncoding(Encoding.MULTIPART);
fp.setMethod(Method.POST);
2.实现一个servlet,它处理POST请求并从请求中读取文件数据。为此,您可以轻松地使用guava或apache commons文件实用程序。
3.在web.xml中配置文件上载servlet映射(用于生产模式),或者如果要在开发模式下使用它,也可以在yourmodule.gwt.xml
中添加相同的映射。例如:
<servlet path="/<path to servlet>" class="<fully-qualified class name of servlet>"/>
4.通过向表单面板添加处理程序来处理文件提交完成事件
fp.addSubmitCompleteHandler(new SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
//event handling
}
});
顺便说一句,我发现了一个很好的库,可以进行多文件上传。 https://code.google.com/p/gxt-multi-upload/
希望这会有所帮助。