我希望使用javax.servlet.http.Part
将Hibernate上传的大文件上传到Blob中,方法是将其插入java.sql.Blob
我可以在不消耗太多内存的情况下执行此操作吗?我想直接插入文件以将其插入数据库而不会消耗太多RAM。
我试过了:
InputStream input = part.getFile().getInputStream();
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[10240];
for (int length = 0; (length = input.read(buffer)) > 0;) output.write(buffer, 0, length);
blob.setFilePart(output.toByteArray());
但据我所知,整个文件将存储到RAM中。你能提出一些解决方案吗?