appengine将图像从url保存到blobstore

时间:2011-08-13 20:08:34

标签: python google-app-engine blobstore

我试图将图片上传到blobstore并返回服务网址,这是我到目前为止所处的位置:

url ='http://ws.audioscrobbler.com/2.0/?method=track.getinfo&api_key=b25b959554ed76058ac220b7b2e0a026&artist=blink-182&track=dammit&format=json'
result = urlfetch.fetch(url=url, deadline=10, method=urlfetch.GET,).content

    if result:
        data = json.loads(result)
        imageUrl = data['track']['album']['image'][3]['#text']


        result = urlfetch.fetch(imageUrl)
        if result.status_code == 200:
            image_result = db.Blob(result.content)

我需要返回服务于url的blob,以便我可以将其保存到另一个实体。

感谢任何帮助

感谢 Ĵ

1 个答案:

答案 0 :(得分:2)

你混淆了两件事。

db.Blob是模型中存储的blob的类型。它没有“服务URL”。如果要提供一个,则需要编写视图代码以从数据存储区加载存储在其中的模型实例,并直接返回blob数据。

如果要存储blob并独立于数据存储模型提供它们,则需要使用(实验性)blobstore API

该文档对如何以编程方式write files to the blobstore进行了很好的描述。然后,您可以将其传递到images API以获取网址:

from google.appengine.api import images
url = images.get_serving_url(blob_key)