Why do i get additional characters when reading a file through a buffer if buffer size > 15?
Try recording the actual number of bytes read and only write that number of bytes:

size_t nr = file.read(buffer, bufferSize);
client.write(buffer, nr);