在GAE中使用blob属性

时间:2010-12-24 21:28:00

标签: python google-app-engine

我需要保存一些来自post请求的二进制数据。我在做:

obj.data=self.request.get('data')

出现错误:“Blob()参数应该是str实例,而不是unicod”

我正在尝试:

obj.data=str(self.request.get('data'))

并且:“ascii'编解码器不能编码字符......”。我究竟做错了什么?如何从请求中保存原始数据?

3 个答案:

答案 0 :(得分:1)

如果您有二进制数据,通常是http post。我使用表单类将提交的表单保存到实体:

data = AForm(data=self.request.POST)
entity = data.save(commit=False)

答案 1 :(得分:1)

我使用base64编码为参数解决了这个问题。

答案 2 :(得分:0)

您正在使用blob属性,但尝试在其中存储文本,而不是原始字节。您可能希望使用TextProperty。