Boto: upload to Amazon S3 OK, but upload to Google Cloud Storage: 'str' does not support the buffer interface -
i using exact codes upload files amazon s3 , google cloud storage, respectively, using boto:
import boto filename = 'abc.png' filenamewithpath = os.path.dirname(os.path.realpath(__file__)) + '/' + filename cloudfilename = 'uploads/' + filename # upload amazon s3 conn = boto.connect_s3(aws_access_key_id=aws_access_key, aws_secret_access_key=aws_secret_key) bucket = conn.get_bucket(aws_bucket_name) fpic = boto.s3.key.key(bucket) fpic.key = cloudfilename fpic.set_contents_from_filename(filenamewithpath) # upload google cloud storage conn = boto.connect_gs(gs_access_key_id=gs_access_key, gs_secret_access_key=gs_secret_key) bucket = conn.get_bucket(gs_bucket_name) fpic = boto.s3.key.key(bucket) fpic.key = cloudfilename fpic.set_contents_from_filename(filenamewithpath)
the amazon s3 part of code runs perfectly. however, google cloud storage part gives error message typeerror, 'str' not support buffer interface
@ statement fpic.set_contents_from_filename(...)
.
what problem?
request method: post request url: http://localhost:8000/upload/ traceback: file "<folder of virtual environ>/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response 132. response = wrapped_callback(request, *callback_args, **callback_kwargs) file "<folder of project>/upload/views.py" in upload 59. fpic.set_contents_from_filename(filenamewithpath) file "<folder of virtual environ>/lib/python3.4/site-packages/boto/s3/key.py" in set_contents_from_filename 1362. encrypt_key=encrypt_key) file "<folder of virtual environ>/lib/python3.4/site-packages/boto/s3/key.py" in set_contents_from_file 1293. chunked_transfer=chunked_transfer, size=size) file "<folder of virtual environ>/lib/python3.4/site-packages/boto/s3/key.py" in send_file 750. chunked_transfer=chunked_transfer, size=size) file "<folder of virtual environ>/lib/python3.4/site-packages/boto/s3/key.py" in _send_file_internal 951. query_args=query_args file "<folder of virtual environ>/lib/python3.4/site-packages/boto/s3/connection.py" in make_request 664. retry_handler=retry_handler file "<folder of virtual environ>/lib/python3.4/site-packages/boto/connection.py" in make_request 1071. retry_handler=retry_handler) file "<folder of virtual environ>/lib/python3.4/site-packages/boto/connection.py" in _mexe 940. request.body, request.headers) file "<folder of virtual environ>/lib/python3.4/site-packages/boto/s3/key.py" in sender 840. http_conn.send('%x;\r\n' % chunk_len) file "/usr/lib/python3.4/http/client.py" in send 876. self.sock.sendall(d) file "/usr/lib/python3.4/ssl.py" in sendall 718. v = self.send(data[count:]) file "/usr/lib/python3.4/ssl.py" in send 679. v = self._sslobj.write(data) exception type: typeerror @ /upload/ exception value: 'str' not support buffer interface
Comments
Post a Comment