我试图将图片上传到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,以便我可以将其保存到另一个实体。
感谢任何帮助
感谢 Ĵ
答案 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)