【发布时间】:2011-07-28 22:49:37
【问题描述】:
我将 20 个随机缩略图的 JSON 请求拉到 iPhone 应用程序。目前,我只是将图像缩略图 URL 包含在 JSON 数组中(见下文),然后 iPhone 会出去获取每个图像。这真的很慢。
原始 JSON 请求:
{ “项目列表”:[ { "item_name": "项目一", "user_item_thumb": "http://localhost:8080/i/agpwaGluZ28tYXBwcg4LEghJdGVtVXNlchgPDA/67x67", }, { "item_name": "项目二", "user_item_thumb": "http://localhost:8080/i/agpwaGluZ28tYXBwcg4LEghJdGVtVXNlchgQDA/67x67", }, { "item_name": "第三项", "user_item_thumb": "http://localhost:8080/i/agpwaGluZ28tYXBwcg4LEghJdGVtVXNlchgRDA/67x67", } ] }所以,我的想法是在图像数据上使用 Base64 并将它们实际包含在 JSON 请求中,因此 iPhone 只需要一个请求而不是 21 个请求。有道理?
那么,我该怎么做呢?
我尝试将以下内容简单地打印为 JSON,但这些是全尺寸图像,我需要推送 Base64 版本的缩略图。
不工作:
f = item.image
f_enc = f.encode('base64')
这就是我目前获得拇指的方式,只是动态地创建它们。
http://localhost:8080/i/agpwaGluZ28tYXBwcg4LEghJdGVtVXNlchgSDA/67x67
这是呈现上述图像请求的原因:
类图像(webapp.RequestHandler): 定义获取(自我,image_id): 用户 = db.get(image_id) 如果用户.图像: 图片 = user.image self.response.headers['Content-Type'] = "image/png" self.response.out.write(图片) 别的: self.response.out.write("没有图片")任何想法都会很棒。
如果有更好的方法来做到这一点,我会全力以赴。
我的问题:
- iPhone 在这 20 张图片中的每一张都拉得很慢
- 图片是随机的,所以缓存可能不是一种选择。
- Base64 是要走的路吗?
谢谢,
丹尼
【问题讨论】:
-
您是将图像存储在 blobstore 中还是数据存储区中?如果在数据存储中,您如何动态创建缩略图?使用图像 API?
-
尼克,没错。我将图像保存为 BlobProperty,然后使用 Image 类(我刚刚添加到上述问题中)调用它们。也许我的整个解决方法都是错误的,这一切似乎有点慢。
标签: python image google-app-engine base64 blob