【问题标题】:Downloading large files with HttpClient使用 HttpClient 下载大文件
【发布时间】:2011-07-14 17:05:04
【问题描述】:

是否可以使用HttpClient 将大文件 (>=1Gb) 从 servlet 下载到 applet?在这种情况下,什么 servlet 端库有用?还有其他方法可以解决这个问题吗?

【问题讨论】:

    标签: java


    【解决方案1】:

    任何允许您访问原始输出流的服务器端库都应该没问题。 例如 Servlet 或 JAX-RS。 获取输出流,获取文件的输入流,使用一个不错的大缓冲区(可能是 4k)并将字节从输入泵送到输出。

    在客户端,您的小程序需要访问文件系统。我假设您不想将 1GB 保留在内存中。 (也许我们希望将其流式传输到屏幕上,在这种情况下您不需要提升访问权限)。

    避免客户端库在将返回的内容交给之前尝试完全实现它。

    此处的示例代码: Streaming large files in a java servlet

    【讨论】:

    • 不,它只是文件复制 :) 我发现 FileUpload 可以帮助服务器,但是示例或教程太少了 :(
    • 而 HttpClient 可以帮助小程序,但我找不到任何可以演示 buff 阅读的示例代码:(
    • 感谢您的链接,但是 FileUpload 库呢?也可以用来下载文件吗?
    • 如果我只使用 ServletOutputStream 会有一些文件大小限制吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    相关资源
    最近更新 更多