私は、Google App Engineのblobstoreにオーディオファイルを保存し、ブラウザで再生しようとしています。私が実行している問題は、ブラウザで取得しているデータが実際のmp3データであることです。私はブロブストアでmp3を再生するためのURLを得ることを期待していた。ですから、私の質問は、オーディオデータの代わりにBLOBを再生するためのURLを取得するためには何を変更する必要があるのでしょうか?Google Apps Engineのblobstoreからmp3データをAjax経由で取得する
ここに私のサーバーサイドハンドラがあります。
class ServeBlobHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self):
user = users.get_current_user()
query = db.GqlQuery("SELECT * FROM AudioData Where userId = :1", user.user_id())
results = query.fetch(limit=300)
for dStoreEntry in results:
entityBlobInfo = dStoreEntry.audioBlob
self.send_blob(entityBlobInfo)
これはクライアント側です。
$.ajax({
url : '/serve_blob/audio/',
type : 'GET',
dataType : 'text',
success : function(data) {
alert('GET, audio data : \n '+ data);
}
});
私はあなたが何を意味するのか分かりません。ブロブストアからデータを取得している場合、ページへのURLはありません。私が何かを逃していない限り。 – Justin
@Justinすでに完了しているBLOBを処理するハンドラを作成する必要があります。そのハンドラのURLを入力すると、BLOBが返されます。 –
ええ、それはあなたがURLが何になるかを決めるまでです。私たちは/ media/serve/のようなURLを使用するので、Googleのフロントエンドエッジキャッシングによってキャッシュすることができます。 –