回答
GWT的客户端代码只是JavaScript和由相同的限制,任何常规的JavaScript将受到在浏览器沙箱模型的约束。
也就是说,从任何浏览器都没有本地文件访问可用于JavaScript。
文件对话框和由此产生的传输到服务器由浏览器处理,并且JavaScript代码不以任何方式提供。
您必须将文件上传到服务器,然后在服务器上处理该文件,并通过从服务器将数据发送回客户端来显示需要显示的内容。从GWT
1)将文件上传到服务器(使用GWT上传的例子)
2)然后,让您的客户机向服务器发出请求来检索文件的字节
:不能我第一次存储文件的内容在一个数组然后传输数组。 – NewCodeLearner 2012-02-14 15:22:43
你可以使用Flash或Java Applet在客户端完成所有操作。但这些都很复杂,可能不是很漂亮的解决方案。
有在GWT看看GwtAI的Java小程序的集成: http://code.google.com/p/gwtai/
尝试使用元素库:
http://www.gwtproject.org/articles/elemental.html
示例代码读取文件内容txtArea(所有客户的网站):
import elemental.client.*;
import elemental.dom.*;
import elemental.html.*;
FileEntry fileEntry = (FileEntry)entry;
FileCallback callback = new FileCallback() {
public boolean onFileCallback(File file) {
final FileReader reader = window.newFileReader();
reader.setOnloadend(new EventListener() {
public void handleEvent(Event evt) {
txtArea.setText(reader.getResult().toString());
}
});
reader.readAsText(file);
return true;
}
};
fileEntry.file(callback, errorCallback);
本教程可能也有用: http://www.instantshift.com/2013/11/19/html5-features-with-gwt-elemental/
您可以使用HTML5文件阅读器。这样的事情:
@UiField FileUpload fileUploadWidget;
JavaScriptObject files = fileUploadWidget.getElement().getPropertyJSO("files");
readTextFile(files);
public static void fileLoaded(String fileContents) {
GWT.log("File contents: " + fileContents);
}
public static native void readTextFile(JavaScriptObject files)
/*-{
var reader = new FileReader();
reader.onload = function(e) {
@com.example.YourClass::fileLoaded(*)(reader.result);
}
return reader.readAsText(files[0]);
}-*/;
这是完美的,很棒的解决方案! – dynamphorous 2016-12-14 19:15:24
伟大的解决方案。谢谢 – 2017-09-11 17:48:29
- 1. 在客户端读取属性文件在gwt mvp4g
- 2. 读取csv文件客户端
- 3. 在GWT服务器端读取文件
- 4. 如何读取客户端上的excel文件内容?
- 5. 在Flex中读取客户端Excel文件
- 6. 如何在ASP.NET中读取/写入客户端文件
- 7. 在Servlet中读取客户端证书
- 8. GWT客户端端rest API
- 9. 在GWT(客户端)中的线程
- 10. 在GWT中确定客户端计算机上文件夹的存在
- 11. 从客户端读取ASHX文件中的POST数据
- 12. Rest服务读取客户端中的zip文件
- 13. 从Python CGI脚本中读取客户端的头文件?
- 14. gwt客户端的CSSOMParser
- 15. GWT文件上传 - 通过客户端代码
- 16. GWT客户端 - 未捕获TypeError:无法读取undefined属性'clear_31_g $'
- 17. 如何从客户端GWT应用程序读取JNDI属性
- 18. 如何在客户端使用GWT将文本写入文件?
- 19. 如何在非Java客户端从HDFS读取文件
- 20. 在客户端获取压缩文件
- 21. 检查GWT客户端的文件存在
- 22. 客户端文件上传在Eclipse
- 23. 在HTML客户端读取XML?
- 24. 与GWT聊天客户端
- 25. GWT客户端外部库
- 26. GWT - Strophe XMPP客户端
- 27. GWT客户端:java.util或com.google.gwt.dev.util?
- 28. GWT中的客户端验证漏洞
- 29. GWT中的客户端缓存
- 30. GWT中的客户端回调
您可以使用HTML5 FileReader。下面是它的一个实例:http://codepen.io/matt-west/pen/KjEHg – Craigo 2016-07-12 06:27:46