我正在尝试通过HTTP将(大)文件流式传输到数据库中。我正在使用Tomcat和Jersey作为Webframework。我注意到,如果我将文件发布到资源中,则该文件首先在磁盘上(在temp \ MIME * .tmp}中进行缓冲,然后再通过doPOST方法进行处理。
这确实是不希望的行为,因为它会使磁盘I / O翻倍,并且还会导致UX出现问题,因为如果浏览器已经完成上传操作,则用户需要等待几分钟(当然取决于文件大小),直到他得到HTTP响应。
我知道这可能不是大型文件上传的最佳实现(因为您甚至没有任何恢复功能),但要求也是如此。:/
所以我的问题是,是否有任何方法可以禁用MULTIPART POST的(磁盘)缓冲。内存缓冲显然太昂贵了,但是我真的看不出是否需要磁盘缓冲吗?(请解释)像YouTube这样的大型网站如何处理这种情况?或者如果发送了文件,是否至少有机会立即向用户提供反馈?(应该很糟糕,因为可能仍然有类似SQLException的东西)