回答
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. 如何从GWT客户端读取服务器端.json文件?
- 3. GWT客户端文件上传
- 4. GWT - 客户端文件上传
- 5. 如何用GWT读取本地(客户端)文件?
- 6. 在gwt客户端运行.exe文件
- 7. 读取csv文件客户端
- 8. 在GWT客户端代码中读取和编辑Excel
- 9. 读取服务器上的文本文件,客户端(JS,Ajax?)
- 10. 在GWT服务器端读取文件
- 11. 用JS从客户端PC上读取文件无需上传
- 12. 加载大文件GWT客户端
- 13. 在客户端读取asp.net控件
- 14. 如何读取客户端上的excel文件内容?
- 15. 限制文件仅在客户端GWT上传大小
- 16. 如何把文件上传限制在gwt客户端?
- 17. 如何在ASP.NET中读取/写入客户端文件
- 18. 在Flex中读取客户端Excel文件
- 19. 在Servlet中读取客户端证书
- 20. GWT客户端端rest API
- 21. 从客户端读取web.xml的init-params gwt
- 22. 在GWT(客户端)中的线程
- 23. 在GWT中确定客户端计算机上文件夹的存在
- 24. Rest服务读取客户端中的zip文件
- 25. 从客户端读取ASHX文件中的POST数据
- 26. TCP读取文件并发送到java中的客户端
- 27. 通过AJAX读取C#中客户端选择的CSV文件?
- 28. 从Python CGI脚本中读取客户端的头文件?
- 29. gwt客户端的CSSOMParser
- 30. GWT文件上传 - 通过客户端代码
您可以使用HTML5 FileReader。下面是它的一个实例:http://codepen.io/matt-west/pen/KjEHg – Craigo 2016-07-12 06:27:46