我在 Plone 中有一个 AT 内容类型。它有许多字段,包括一个文件字段。当用户编辑此类对象时,如何判断是否上传了新文件?
就此而言,我如何判断是否有任何字段已更改?
我目前正在使用订阅者挂接到 IObjectEditedEvent 以在对象更改后执行一些操作 - 我可以在这里执行这些操作吗?
请您参考如下方法:
是的,IObjectEditedEvent(IObjectModifiedEvent 的直接子类)在更改 Archetypes 内容对象时发出。
但是,事件本身不会告诉您是否上传了新文件。但是,应该可以获取请求(例如,context.REQUEST 应该通过获取为您提供当前请求)并查看那里是否有与该字段匹配的文件对象。如果是,则用户为该字段上传了一个新文件,FileField 将被更新。
