代码之家  ›  专栏  ›  技术社区  ›  Dannick Montanede

如何用python将视频上传到google云存储

  •  0
  • Dannick Montanede  · 技术社区  · 6 年前

    我使用了AppEngine应用程序,并将所有文件存储在云存储中。

    我也试着储存视频,但我做不到。

    我不明白可恢复上传是如何工作的,以及如何设置它。

    1 回复  |  直到 6 年前
        1
  •  1
  •   GAEfan    6 年前

    像这样的方法应该会奏效:

    import cloudstorage as gcs
    
    DEFAULT_GCS_BUCKET = {your bucket}
    id ={some id}
    
    video = request.files['video']
    
    # to see what these do: https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/retryparams_class
    write_retry_params = gcs.RetryParams(   initial_delay =     0.2,
                                                backoff_factor =    2,
                                                max_delay =         5.0,
                                                min_retries =       1,
                                                max_retries =       3,
                                                max_retry_period =  15,
                                                urlfetch_timeout =  10
                                            )
    
    
    video_bytes = video.read()
    content_type = video.content_type
    
    with gcs.open(
            filename =      '{}/{}'.format(DEFAULT_GCS_BUCKET', id), 
            mode =          'w', 
            content_type =  content_type, 
            options=        {  
                                'x-goog-acl': 'public-read', 
                                'Cache-Control': 'private, max-age=0, no-transform'
                            },
            retry_params =  write_retry_params
        ) as f:
        f.write(video_bytes)