【问题标题】:Java Download file from url with download dialog带有下载对话框的 Java 从 url 下载文件
【发布时间】:2014-04-05 19:10:22
【问题描述】:

我想从最初显示一些 html 的 url 下载文件,然后在 2-3 秒后显示下载对话框。显然,如果我这样做:

     try {
            URL url = new URL("http://my.url");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();

            con.setRequestProperty("Connection", "Keep-Alive");
            con.setRequestProperty("Content-Length",
                    Integer.toString(Integer.MAX_VALUE));
            con.setReadTimeout(Integer.MAX_VALUE);
            con.setConnectTimeout(Integer.MAX_VALUE);
            con.connect();

            bis = new BufferedInputStream(con.getInputStream(), 4096);

            byteArray = IOUtils.toByteArray(bis);

            FileUtils.writeByteArrayToFile(new File("myFile"), byteArray);


        } catch (Exception e) {
        }

我将保存显示的 .html 而不是保存对话框中显示的文件。 我应该如何更改代码才能做到这一点?

【问题讨论】:

    标签: javascript java download


    【解决方案1】:

    我猜对话框中只有一些 javascript,它会等待几秒钟并请求将文件下载嵌入对话框中的某处。

    如果是这种情况,如果您确定“真正的下载”包含在哪个元素中,您可以使用 JSoup 或任何其他 html 解析器库将链接从页面中刮出。

    如果下载链接是动态生成的,你显然只需要这样做。

    按照 rossa 的建议进行操作后,我建议在对话框窗口中设置 javascript 断点,以确定请求的真实 url 的准确程度。

    【讨论】:

      【解决方案2】:

      您确定该网址是您要下载的文件的确切位置吗?我的意思是,是否有任何重定向 - 您可以在浏览器中检查并使用 HTTP 标头扩展来检查幕后发生的事情。

      【讨论】:

        猜你喜欢
        • 2018-07-08
        • 2013-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多