我想在我的GWT应用程序中创建一个浏览文件表单,我使用uploadfile表单,这样我就可以使用浏览器浏览文件,但是使用uploadfile我只能获得文件名。
有人能告诉我如何在文件浏览器上选择文件后检索文件的完整路径吗?是否存在返回完整路径的servlet,或者除了uploadfile表单之外还有其他方法。
这里您要寻找的是使用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/
希望这将帮助。