2024-10-01 11:20:10 发布
网友
我有一个upload表单,它接受一个zip文件,并有一个解压它并从中获取每个文件的方法。从md5哈希中生成一个唯一的id,并将其存储在字典中
dict[uid] = imagebinary
并返回它,以便窗体可以将它们存储到ZODB中。我不能像那样存储图像,因为这个错误会暴露出来
那么,我该怎么做呢?我几乎被困在这件事上了。在
您看到的错误与ZODB中的图像存储无关。在
为了存储更大的数据块,您确实希望使用ZODBBlob,而不是将图像数据直接放入属性中。Blobs单独存储在磁盘上,不刷新ZODB缓存,并且可以在再次访问时流式传输回客户机。在
Blob
要创建和存储Blob,请使用:
from ZODB.blob import Blob uid = Blob(imagebinary.read())
这样创建之后,您可以稍后使用uid作为文件;您需要先以读或写模式打开它。例如,要从视图返回blob的内容,请使用:
uid
blob绑定到事务,如果事务回滚,对它们的更改将自动放弃。在
您看到的错误与ZODB中的图像存储无关。在
为了存储更大的数据块,您确实希望使用ZODB
Blob
,而不是将图像数据直接放入属性中。Blob
s单独存储在磁盘上,不刷新ZODB缓存,并且可以在再次访问时流式传输回客户机。在要创建和存储
Blob
,请使用:这样创建之后,您可以稍后使用
^{pr2}$uid
作为文件;您需要先以读或写模式打开它。例如,要从视图返回blob的内容,请使用:blob绑定到事务,如果事务回滚,对它们的更改将自动放弃。在
相关问题 更多 >
编程相关推荐