提取OFS图像Pdata对象并将其保存为Dexterity上的Namedfile

2024-05-16 09:07:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个原型内容,它的字段名为file,它是MultiFileField(from原型.multifile.MultiFileField). 该模式类似于:

MultiFileField('file',
       primary=True,
       languageIndependent=True,
       widget = MultiFileWidget(
        label= "File Uploads",
        show_content_type = False,))

我有一个Dexterity内容类型,它具有相同的字段名,即file,我想创建一个脚本,从原型内容中提取存储的上传对象并将其传递给Dexterity自定义内容类型。Dexterity自定义内容类型的架构为:

^{pr2}$

我注意到Archetype的多文件字段将上传的对象存储为OFS Image Pdata,对于后一部分,它存储为plone.namedfile.file文件.NamedFile对象。有没有办法把OFS对象转换成Namedfile对象?在

更新: 我找到了一个解决办法,但我不确定这是否正确。在

^{3}$

Tags: 文件对象fromtrue类型内容模式原型
1条回答
网友
1楼 · 发布于 2024-05-16 09:07:07

首先,您可能希望改用NamedBlobFile。在

那么,你有没有尝试过这样的方法来转换数据?在

from plone.namedfile.file import NamedBlobFile
new_obj.file = [NamedBlobFile(str(fdata), contentType=fdata.content_type, filename=fdata.filename) for fdata in previous_obj.getFile()]

假设您有以前的目标和新的目标。在

相关问题 更多 >