在plone.app.registry中存储文件内容(二进制数据)

在plone.app.registry中存储文件内容(二进制数据),plone,z3c.form,Plone,Z3c.form,我需要以兼容plone 3.3到4.2的方式将二进制数据存储在plone.app.registry中 只需使用schema.Byte类型,我就能够在Plone 4.2上快速实现这一点(虽然不太方便用户,但它可以工作),但在Plone 3.3上却不行 在Plone 3.3上,注册表显示一个文件上载控件,但当我尝试获取保存的数据时,发现它只存储了一个字符串,如: ” …因此,一个对象的python repr 我怎样才能解决这个问题?我需要将plone.namedfile产品与collective.z

我需要以兼容plone 3.3到4.2的方式将二进制数据存储在plone.app.registry中

只需使用
schema.Byte
类型,我就能够在Plone 4.2上快速实现这一点(虽然不太方便用户,但它可以工作),但在Plone 3.3上却不行

在Plone 3.3上,注册表显示一个文件上载控件,但当我尝试获取保存的数据时,发现它只存储了一个字符串,如:

…因此,一个对象的python repr


我怎样才能解决这个问题?我需要将plone.namedfile产品与collective.z3cform.filewidget一起使用?

plone.app.registry并不是真正用来存储二进制数据的。它被设计成简单、轻量级和防迁移的


你想用这个达到什么目的?可能还有更好的方法。

好的,看来你也可以在《第三号飞船》上有同样的行为;由于plone.formwidget.namedfile 1.0.12,只需升级plone.z3cform

,您也可以在ASCII字段上使用该widget。然后将数据转换为base64。Plone 5将该功能用于其站点徽标,该徽标存储在注册表中

有关示例,请参见该功能的Plone 4后端口:

特别是:

为图像使用
ASCII
字段:


ASCII
字段的控制面板小部件更改为
NamedImageFieldWidget

我需要存储一个不是CMS内容的文件,但需要用于后端配置。我能找到的唯一其他方法是将其存储为假内容类型(我从不喜欢的东西)或Zope“文件”。。。