回答
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