2

我有一个简单的视频共享网站,可以上传视频并将它们作为 blobReferenceProperty() 存储在数据存储中。现在我正在查询该视频的数据存储区并尝试将其嵌入/播放到 html 5 视频标签中。看来我现在需要找到存储在 blobstore 中的视频的路径,因为 html 5 视频标签需要一个路径。

问题是从 blobstore 查询的视频以 blob_key 的形式返回。有谁知道如何获取 blob_key 的路径,以便它可以由 html 5 视频标签播放。

class Videos(db.Model):
    videoID = db.IntegerProperty()
    content = blobstore.BlobReferenceProperty()

vids = db.GqlQuery("SELECT * FROM Videos WHERE videoID = :1", v_id)
    for v in vids:
      vid_key = v.content

现在我想要 vid 密钥的路径,所以我可以把它放在 ???? 是

<video controls>
    <source src="????" type="video/mp4">
   <p>Your browser does not support the HTML5 video element.</p>
 </video>

有任何想法吗?

[编辑]

我已经有一个看起来像这样的下载处理程序

class Play(blobstore_handlers.BlobstoreDownloadHandler):
    def get(self, vid_id): 
        vid_key = None
        vids = db.GqlQuery("SELECT * FROM Videos WHERE videoID = :1", int(vid_id)) 
        for v in vids: 
            vid_key = v.content 
        if (vid_key == None): 
            self.error(404) 
        else: 
            self.send_blob(vid_key) 

现在我的代码全屏播放视频,我想切换它以播放嵌入在我网站中的 html 5 视频标签中的视频。在同一页面上有评论和评分

4

1 回答 1

1

您需要创建一个 BlobstoreDownloadHandler 来为 blob 提供服务。最简单的方法是通过 blobkey 的字符串表示形式在 url 中标识 blob 资源,即 mypath.com/blob/blobkey 然后您可以使用 Videos 模型中的 reference 属性轻松引用该 url。

要创建 BlobstoreDownloadHandler,您可以阅读文档:此处此处

于 2013-05-01T02:51:36.243 回答