【发布时间】:2012-03-29 19:22:42
【问题描述】:
简而言之,我有一个 Servlet,它可以检索图片/视频等。来自底层数据存储。
为了存档,我需要将文件 InputStream 复制到 ServletResponce *OutputStream*
在我看来这并不有效,因为我需要在发送之前将文件复制到内存中,因此指定 InputStream 会更方便,其中 OutputStream 会在读取缓冲区中的一些数据后立即读取数据并发送。
我查看了 ServletResponce 文档,它有一些用于消息数据的缓冲区,所以我有一些关于它的问题。
这是正确的机制吗? 如果我决定在 Servlet 处理结束时不发送文件怎么办? 例如: 如果我在OutputStream中复制了InputStream,然后发现这不是授权请求,并且用户无权查看此对象(可能是设计错误)我会仍然向客户端发送一些数据,尽管这不是我想要的,或者不是。
【问题讨论】:
标签: java servlets inputstream outputstream