Google app engine 获取GAE中图像的url(Python 2.7)
我正在尝试获取图像的URL(GAE的blob字段): 发球形象处理人:Google app engine 获取GAE中图像的url(Python 2.7),google-app-engine,python-2.7,Google App Engine,Python 2.7,我正在尝试获取图像的URL(GAE的blob字段): 发球形象处理人: def result(request): product = Product() product.name = "halva" url = 'http://echealthinsurance.com/wp-content/uploads/2009/11/minnesota.jpg' product.image = db.Blob(urlfetch.Fetch(url).content) product.p
def result(request):
product = Product()
product.name = "halva"
url = 'http://echealthinsurance.com/wp-content/uploads/2009/11/minnesota.jpg'
product.image = db.Blob(urlfetch.Fetch(url).content)
product.put()
template = loader.get_template("result.html")
context = RequestContext(request,
{
"result" : u"Add"})
return HttpResponse(template.render(context))
但我得到的只是:
UnicodeDecodeError:
当试图忽略这个异常(这是Python2.7中的bug)时,我在另一个地方得到了异常
之后,我尝试将图像编码为“latin-1”(“utf-8”不起作用):
结果:url具有类似于二进制文件的视图:
"ÝêÓ9>èýÑNëCf Äàr0xã³3Ï^µ7±\íQÀ¡>.....ÕÝ£°Ëÿ"I¢¶L`ù¥ºûMþÒ¸ÿ+ÿL¢ï£ÿÙ' alt="" />"
如何获取url以在模板中显示动态图像?
图像。获取url
需要一个BlobKey。尝试:
enc_img = movie.image
url = images.get_serving_url(enc_img.key())
你在这里混淆了两件不同的事情 如果将图像存储在db.BlobProperty中(代码没有显示您正在这样做,但您的模式使用的是db.BlobProperty),这意味着您的处理程序必须为图像提供服务 但是,您使用的是image.get_service_url,它接受一个BlobKey实例,该实例来自于将图像存储在BlobStore中,这与您所做的完全不同 您需要确定要执行的操作,将图像(最大大小为1MB)存储在BlobProperty中,并提供一个可以为图像提供服务的处理程序,或者将其上载到BlobStore并从那里提供服务AttributeError:“'Blob'对象没有属性'key'”
"ÝêÓ9>èýÑNëCf Äàr0xã³3Ï^µ7±\íQÀ¡>.....ÕÝ£°Ëÿ"I¢¶L`ù¥ºûMþÒ¸ÿ+ÿL¢ï£ÿÙ' alt="" />"
enc_img = movie.image
url = images.get_serving_url(enc_img.key())