appengine和html5音频

时间:2012-08-08 16:30:30

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

我只想弄清楚如何使用blobstoreHTML5音频。

我的代码只是稍微修改了工作代码,因此无法进行重大更改。

class data(webapp2.RequestHandler): 
def get(self):
    a = db.GqlQuery("SELECT * FROM UserPhoto")
    blob = a[1].blob_key


    self.redirect('/Serve/%s' % blob.key())



class ServeHandler(Handler, blobstore_handlers.BlobstoreDownloadHandler):
def get(self, audio_key):
    if not blobstore.get(audio_key):
        self.error(404)
    else:
        self.send_blob(audio_key)
        self.redirect('/music')

class music(Handler):
def get(self):
    self.render("music.html")

这是播放音频的HTML:

<audio controls="controls">
<source src="/Serve/%s"/>
Your browser does not support the audio element.

,错误是

"GET /Serve/%s HTTP/1.1" 404 -

1 个答案:

答案 0 :(得分:3)

您似乎没有将实际的键变量放在HTML中。你只有/serve/%s这显然是错误的 - Django模板甚至不使用Python字符串替换,更不用说你没有给它任何替代的事实。

您需要将blob密钥从get处理程序传递给模板,然后使用<source src="/Serve/{{ blob_key }}"/>引用它。