我在使用 google doc viewer 显示从我的服务器获取的 xls 文件时遇到问题。
目前,当我尝试使用 webview 在我的 android 应用程序中显示从我的服务器获取的 xls 文件时,我有一个灰色页面,没有可用的预览(我可以使用 url 从我的服务器下载 xls)。
抱歉,我无法分享链接,但它就像 xxxx.com/123/DownloadExcel_GET?paraOne=%s¶Two=%s¶Three=%s。
但是当我尝试在互联网上使用 xls 示例文件时,例如http://lecompagnon.info/demos/demoxl3.xls,我没有这个问题。xls 显示成功。
如果我尝试使用像“drive.google.com/file/t/myfile/view?usp=sharing”这样的 googleDrive url,它同样有效。
互联网上的示例文件和我的服务器上的文件的唯一区别是开始下载的时间。使用示例文件是即时的,但使用我的 xls 我必须等待超过 10 秒才能开始下载。
我认为谷歌文档查看器返回没有可用的预览,因为对他来说 10 秒来获取文件太长并且他返回超时。但这是一个假设...
我没有发现这个问题,只有这个主题Google Document Viewer 显示 "No Preview Available"。
这是我的代码:
String urlgoogle = "https://docs.google.com/gview?embedded=true&url=";
String completeURL = urlgoogle + query;
Log.i("completeURL", completeURL);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl(completeURL);
//wv.loadUrl("https://docs.google.com/gview?embedded=true&url=" + "http://lecompagnon.info/demos/demoxl3.xls"); working
wv.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
编辑 我添加更多信息。没有预览的灰色页面并不总是显示,有时我的 xls 文件第一次显示成功。
如果我有灰色页面,我可以刷新,一两次刷新后,文件就显示出来了。刷新只是再次调用webview中的url
该文件是从服务器动态创建和生成的,这就是为什么要下载或获取文件我必须等待 10 秒。
如果显示文件的时间太长,Google 文档查看器会超时吗?