String tmpPath = request.path() + "." + request.transferId();
FileOutputStream outputStream = new FileOutputStream(
new File(shard.blobContainer().getBaseDirectory(), tmpPath)
);
BytesReference content = request.content();
if (!content.hasArray()) {
content = content.toBytesArray();
}
outputStream.write(content.array(), content.arrayOffset(), content.length());
if (request.size() == request.content().length()) { // start request contains the whole file.
outputStream.close();
File source = new File(shard.blobContainer().getBaseDirectory(), tmpPath);
File target = new File(shard.blobContainer().getBaseDirectory(), request.path());