Android下载并打开以.aspx结尾的URL

我可以下载和查看以* .pdf结尾的URL,并使用下面的代码

 private static final int  MEGABYTE = 1024 * 1024;

public static void downloadFile(String fileUrl, File directory){
    try {

        URL url = new URL(fileUrl);
        HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
        //urlConnection.setRequestMethod("GET");
        //urlConnection.setDoOutput(true);
        urlConnection.connect();

        InputStream inputStream = urlConnection.getInputStream();
        FileOutputStream fileOutputStream = new FileOutputStream(directory);
        int totalSize = urlConnection.getContentLength();

        byte[] buffer = new byte[MEGABYTE];
        int bufferLength = 0;
        while((bufferLength = inputStream.read(buffer))>0 ){
            fileOutputStream.write(buffer, 0, bufferLength);
        }
        fileOutputStream.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

但我试图下载带有.aspx结尾的网址的PDF文件,因为它动态地生成PDF并且不起作用。

我也尝试将webview与Google文档网址嵌入“http://docs.google.com/viewer?url="+URL”,但它也无法正常工作。

任何人都可以帮忙吗?


'.aspx'是实际上是Web表单的ASP.NET页面。

Web表单包含在扩展名为“.aspx”的文件中; 这些文件通常包含静态(X)HTML标记或组件标记。

所以你正在加载的是一个简单的HTML页面,在服务器端渲染。 所以你不能用它来查看PDF - 在PDF查看器。

而不是打开文件中的'.aspx'加载这个URL到WebView - 这只有当你指向的站点没有额外的安全性时才会工作。

对于Google文档,您提供给WebView链接应该共享如下链接:

https://drive.google.com/file/d/xx-xxxxxxxxxxxxxxx/view?usp=sharing

其中x是散列的一部分。 要获得此链接 - 点击文档的Share选项,然后get shareable link

WebView到达pdf文档之前,它可能会收到很少的重定向,这些重定向可能会由Android本身处理。 为了避免这种情况,您需要覆盖WebViewClient#shouldOverrideUrlLoading ,如下例所示:

mWebView.getSettings().setJavaScriptEnabled(true);

mWebView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return false;
    }
});
mWebView.loadUrl("https://drive.google.com/file/d/xx-xxxxxxxxxxxxxxx/view?usp=sharing");

您也可以使用上面获得的可共享网址直接链接到该文件:

change this:
  https://drive.google.com/file/d/xx-xxxxxxxxxxxxxxx/view?usp=sharing
to this:
  https://drive.google.com/uc?export=download&id=xx-xxxxxxxxxxxxxxx
or to this:
  https://docs.google.com/document/d/xx-xxxxxxxxxxxxxxx/export?format=pdf
链接地址: http://www.djcxy.com/p/46769.html

上一篇: Android Download and Open PDF File from URL ending with .aspx

下一篇: Opening pdf file from server using android intent