【发布时间】:2009-04-22 16:44:06
【问题描述】:
我目前有一个应用程序,它通过使用 Spring JDBC [SqlLobValue] 将 byte[] 插入到我们的数据库中。问题是,这不是一种可扩展的数据获取方式,因为服务器在写入数据库之前会缓冲内存中的所有数据。我想从 HttpServletRequest Inputstream 流式传输数据,但是对于将 Inputstream 作为参数的任何类,我可以找到的所有构造函数也需要内容长度作为参数。在将数据发布到我的应用程序时,我不会也不会要求用户知道内容长度。有没有办法绕过这个限制?
我找不到关于如果我通过 -1 作为内容长度会发生什么的文档,但我猜它会抛出异常。我不确定为什么他们不能让流继续读取,直到 read(...) 返回 -1,这是 InputStream 的必需行为。
【问题讨论】: