将.raw文件上传到Google云端存储

时间:2017-01-18 21:15:05

标签: python google-cloud-storage

我有一个Python脚本试图在谷歌存储上传文件,但一直出现这个错误:

  

googleapiclient.errors.UnknownFileType:

这是我的代码:

def create_service():

    credentials = GoogleCredentials.get_application_default()

    return build('storage', 'v1', credentials=credentials)

service=create_service()

request=service.objects().insert(bucket='testBucket',name='test.raw',media_body=path_files+file_raw)

response=request.execute()

exit()

file_raw是一个音频.raw文件。

我使用的图书馆是:

from oauth2client.client import GoogleCredentials

from googleapiclient.discovery import build

from google.cloud import storage

1 个答案:

答案 0 :(得分:1)

我相信,因为你的文件以“.raw”结尾,所以“mimetypes”库无法猜测你想要的对象内容类型。尝试使用您希望GCS使用的MIME类型明确指定“media_mime_type”关键字参数。

这是我认为可能产生错误的地方:https://github.com/google/google-api-python-client/blob/master/googleapiclient/discovery.py#L789

另外,我建议你看一下Google Cloud Client Library for Python。我觉得使用起来更好。