2016-08-21 58 views
0

我必须创建一个代理文件上传,但问题是我不必在代理服务器上存储整个文件。我的代理必须接受非常大的文件(大小高达80 GB的文件),并将整个文件存储在对象存储中(openstack swift)。但代理不必将整个文件保存在RAM或磁盘上。代理服务器必须像管道一样行事。
如何创建这样的系统?如何使用Java为文件上传创建代理服务器?

回答

2

简单地创建一个服务器套接字来接受请求,并为接收到的每个请求打开一个输出流到目标(文件系统,数据库,云存储......)。然后做一个读取字节卡盘的循环,例如4K字节,然后将这些4K字节写入输出流。继续,直到没有更多的字节要从输入中读取。关闭输入流并刷新并关闭输出流。这里举一个例子

Connecting an input stream to an outputstream

相关问题