I've just implemented this in a project:<br><br><pre>            binary_data = open(self.filename(), "rb").read()<br>            mimetype, encoding = mimetypes.guess_type(self.filename())<br>            if not mimetype:<br>
                mimetype = 'application/octet-stream' # Riak's own default<br>            self.riak_object = self.bucket.new_binary(<br>                self.hashstring, <br>                binary_data,<br>                mimetype<br>
            )</pre><br>which writes binary data to a Riak bucket from a file, using Python's mimetypes library to determine the content type from the file's extension.<br>
<br>I think it could be convenient to have this be included in the Riak Python client, so perhaps it can implement better buffering. Something like bucket.new_binary_from_file(key, filename)<br>