add PutObjectFromReader()