Jsp下载文件大小

时间:2009-05-04 15:51:34

标签: java html jsp tomcat download

我们正在运行tomcat,我们正在生成pdf文件。我手头没有文件大小,所以我无法直接链接到服务器上的文件。所以我直接发送输出。

response.setContentType("application/force-download");
OutputStream o = response.getOutputStream();

然后我直接输出到这个OutputStream。

唯一的问题是接收器没有获取文件大小,所以他们不知道下载需要多长时间。有没有办法告诉响应文件有多大?

修改   我知道文件大小,我只是不能告诉STREAM这个文件有多大。

4 个答案:

答案 0 :(得分:5)

响应对象应该有setContentLength方法:

// Assumes response is a ServletResponse
response.setContentLength(sizeHere);

答案 1 :(得分:1)

将PDF字节流序列化为文件或字节数组计算其大小,设置大小并将其写入输出流。

答案 2 :(得分:0)

我相信你在回答自己的问题: 引用: 我手头没有文件大小,所以我直接发送输出。

如果您没有尺寸,则无法发送....

答案 3 :(得分:0)

为什么不动态生成PDF文件到临时文件系统或ram-base文件系统或内存映射文件。然后你就可以得到文件大小了。

response.setContentType( “应用程序/力下载”); response.setContentLength(sizeHere); OutputStream o = response.getOutputStream();