2013-05-08 152 views
0

我想在我的GWT应用程序中创建一个浏览文件表单,并使用uploadfile表单,这样我就可以浏览浏览器的文件,但是使用uploadfile我只能得到文件名。GXT:如何从浏览文件中检索文件路径

有人能告诉我如何在文件浏览器上选择文件后检索文件的完整路径吗?是否有一个返回完整路径的servlet,或者除了uploadfile表单之外还有其他方式。

+0

编写Servlet,它扩展了HttpRequestHandler。在这个ü创建一个文件并保持在会话中。 – swamy 2013-05-09 05:32:33

+0

所以我必须上传文件或将其复制到一个目录中,以便我可以处理它? – 2013-05-09 08:13:18

回答

0

这里你要找的是使用GWT/GXT表单面板上传文件吧?不需要获取文件的完整路径或使用名称来执行此任务。你可以做到这一点做以下

1.Hope您已经添加了FormPanel中正确地检查是否指定这些属性

final FormPanel fp = new FormPanel(); 
    fp.setAction("url which handles file uploads"); 
    fp.setEncoding(Encoding.MULTIPART); 
    fp.setMethod(Method.POST); 

2.Implement从请求处理POST请求,并读取该文件的数据一个servlet 。您可以轻松使用番石榴或apache公共文件实用程序来达到此目的。

3.在web.xml中(对于生产模式)配置文件上传servlet映射,或者如果您想在开发模式下使用它,请在yourmodule.gwt.xml中添加相同的映射。例如:

<servlet path="/<path to servlet>" class="<fully-qualified class name of servlet>"/> 

4.Handle文件提交通过增加处理器完整的事件,形成面板

fp.addSubmitCompleteHandler(new SubmitCompleteHandler() { 
     public void onSubmitComplete(SubmitCompleteEvent event) { 
     //event handling 
     } 
    }); 

顺便说一句,我找到了一个不错的图书馆,做多文件上传。 https://code.google.com/p/gxt-multi-upload/

希望这会有所帮助。