从blobstore Google app引擎提供视频

时间:2015-06-18 09:39:47

标签: python html google-app-engine video blobstore

我正在开发Google App Engine(Python)应用程序,但我遇到了一些问题。我在我的blobstore中有一个视频,我希望在<iframe>标记中提供,但我无法获取源网址以进入标记&#34; src&#34 ;领域。我使用图像api for google app engine(特别是知道Blobkey的get_serving_url(Blobkey)方法)并且在开发服务器上工作时,我已经取得了一些成功,一旦我推出应用程序,我就会收到以下错误:

File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/images/__init__.py", line 1794, in get_serving_url
 return rpc.get_result()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 613, in get_result
 return self.__get_result_hook(self)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/images/__init__.py", line 1892, in get_serving_url_hook
 raise _ToImagesError(e, readable_blob_key)
TransformationError

所以我的问题是:了解我的blobstore中视频的Blobkey,如何让服务网址以<iframe>标记显示视频?

2 个答案:

答案 0 :(得分:1)

你不能。 get_serving_url用于图片而不是视频。而是将视频存储在Google云端存储中,而不是存储在Blobstore中。然后,您有一个可以使用的URL。

答案 1 :(得分:0)

好的,我明白了。我打了一个从网站到服务器的电话,只是使用self.send_blob来提供视频服务。 客户端:

function showVideo (video_blobKey) {
    document.getElementById("Video").setAttribute("src", "/getVideo?key=" + video_blobKey);
}

和服务器端:

class getVideo (blobstore_handlers.BlobstoreDownloadHandler):
    def get(self):
        blob_key = self.request.get('key')
        self.send_blob(blob_key)