banner
ximalaya

ximalaya

这里是openkava 的blog,关注程序开发的一切技术。 ZZ 表示转载的文章,如涉及版权,请和我联系删除。 在这里你可以看到关于以下技术的文章: 移动开发技术,ANDROID ,IOS,WINDOWS PHONE平台开发,企业ERP开发,动态脚本PYTHON ,OPENGL ES 3D技术,游戏开发技术,HTML5 ,JAVASCRIPT ,MYSQL,AMAZON EC2 ,GOOGLE GAE ,GOOGLE CLOUD SQL 等 。 本站发展历程: 2010年,正式把所有的blog移到这里,租用godaddy的空间,记录生活和工作上的一些心得。 下面是关于我的个人介绍,写在这里权当凑字数啦。 职业:软件开发,开发经验6年,管理经验3年; 工作上使用的技术:C#, SQL SERVER 个人使用的技术:PYTHON,PHP, CSS, JAVA ,ANDROID ,object-c 等等 联系我请发邮件:<a href="http://blog.openkava.com/openkava@gmail.png"><img class="alignnone size-full wp-image-96" title="邮箱" src="http://blog.openkava.com/openkava@gmail.png" alt="" width="174" height="24" /></a>

Google app engine 文件操作

GAE 目前还不允许用户操作文件系统,上传的图片只能通过数据库存取。但可以读取在系统上的文件

f=open(".img/a.jpg","rb")
self.response.out.write(f.read())
f.close()
下面转载:
通过数据库存取,以下的代码实现了 shop 表中 logo 图片的动态显示:
class showShopLogo(webapp.RequestHandler):
def get(self):
shopid = self.request.get('sid')
shop = Shop.get_by_id(int(shopid))
if (shop and shop.logo):
img = images.Image(shop.logo)
img.resize(width=128, height=128)
tumbimg = img.execute_transforms(output_encoding=images.PNG)
self.response.headers['Content-Type'] = 'image/png'
self.response.out.write(tumbimg)
else:
self.redirect('/images/nologo.png')

定义处理路径:

application = webapp.WSGIApplication(
[ ...
('/shop/logo', showShopLogo),
( ...)
], debug=True)
wsgiref.handlers.CGIHandler().run(application)

我们可以通过http://example.com/shop/logo?sid=5 这样的格式访问图片,在模板文件中,用image实现图片的显示。

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.