【问题标题】:appengine and html5 audioappengine 和 html5 音频
【发布时间】:2012-08-05 19:52:39
【问题描述】:

我只是想弄清楚如何使用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 -

【问题讨论】:

  • html src 中有一个小错字,有一个未放置的引号,但这不会导致错误
  • html 真的指向 /Serve/%s 还是只是一个模板?另外,您为什么要在 ServeHandler 中重定向到 /music?您能否发布您的 wsgi 应用程序的配置以查看路线。数据中的重定向似乎也很奇怪,您应该使用 blob_key(来自 UserPhoto?)来生成音乐播放器 html。

标签: python html google-app-engine blobstore


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多