以下是用于发送文件的HttpServletResponse头和内容类型。高达32MB的数据传递给客户端,但我的整个数据大小为100MB。如何通过Http Servlet响应发送大文件
response.setContentType("application/octet-stream");
response.setHeader("Transfer-Encoding", "chunked");
response.setHeader("Content-Disposition", "attachment; filename="filename.bin");
我不能将这些数据存储到云存储中,因为这是为每个用户创建的。
这是否可以通过HttpServletResponse实现?或者我需要移动到其他方法,例如套接字等。
请推荐一种适用于多客户端环境的方法。
嗨@Brainislav我正在使用谷歌应用程序引擎来实现这一点。需要GAE标签才能看到。 – SetV
这是否(32MB的问题)发生在任何浏览器,或只是与特定的一个。设置“Content-Length”标题可能很有用。另请参阅http://stackoverflow.com/questions/685271/using-servletoutputstream-to-write-very-large-files-in-a-java-servlet-without-me –
您应该通过API设置分块传输模式,不是这样。除非通过API告诉它,否则它实际上不会进行任何分块。 – EJP