Memory mapped files work great for this size range. Use MappedByteBuffer mbb = channel.map(FileChannel.MapMode.READ_WRITE, 0, fileSize)
and put your bytes directly. Way faster than chunked writes since there’s no system calls per write. Just make sure you get the file size from your REST metadata first.