如何在不上传GXT的情况下浏览文件?

时间:2013-04-19 18:17:52

标签: gwt gxt

我是GXT的初学者,我想知道是否有办法解析文件并提取一些信息而不上传它。

我创建了一个包含uploadFile表单的formpanel,但我不知道下一步,如何获取文件的完整路径,以便我可以使用java io读取/写入或如何检索文件或是否有替换解决方案,谢谢。

最诚挚的问候。

2 个答案:

答案 0 :(得分:1)

您可以在一些现代浏览器中使用前端HTML5 api来执行此操作,您需要使用GWT JSNI代码。 GWT团队没有任何api。

HTML5 FileReader

FileReader包括四个用于异步读取文件的选项:

FileReader.readAsBinaryString(Blob|File) - The result property will contain the file/blob's data as a binary string.
FileReader.readAsText(Blob|File, opt_encoding) - The result property will contain the file/blob's data as a text string. 
FileReader.readAsDataURL(Blob|File) - The result property will contain the file/blob's data encoded as a data URL.
FileReader.readAsArrayBuffer(Blob|File) - The result property will contain the file/blob's data as an ArrayBuffer object.

GWT包装器的示例 - https://github.com/bradrydzewski/gwt-filesystem

您可以从此处了解更多信息 - How to retrieve file from GWT FileUpload component?

答案 1 :(得分:-1)

恕我直言 你无法阅读。

由于安全原因,javascript(gwt)无法访问系统驱动器文件

http://en.wikipedia.org/wiki/JavaScript#Security

请参阅Opening a file in local file system in javascript

要获取文件,您需要拨打服务器电话。

相反,您可以执行验证服务器端并向用户发送正确的消息。

P.S:我不是在考虑现代浏览器概念。如果有人在所谓的现代浏览器之外打开会发生什么?程序运行会一样吗?它总是更好地进行服务器端验证..