我需要一个blob文件字段作为plone中内容类型的一部分。 plone.app.blob的BlobField应该提供这个,但我找不到如何获取URL来下载包含原始文件名的文件(例如http://plone.site/plone/obj/orig-file-name.avi)。有没有办法用plone.app.blob做到这一点?
或者,Web上有一些指针指向plone.named文件来执行此操作。 plone.namedfile似乎依赖于z3c.blobfile。 z3c.blobfile与plone.app.blob有什么不同?
这些方法中的一种比另一种好吗?
VIK
答案 0 :(得分:1)
如果您想使用原始文件名下载文件,则需要更多部分:
确保在架构的字段设置中放置primary = True。
确保您的内容类型的类是plone.app.blob.content.ATBlob的子类,它提供了一个下载主要字段的index_html方法。
确保将内容类型的portal_type添加到portal_properties / site_properties中的typesUseViewActionInListings列表中。
plone.namedfile提供了一个可与z3c.form库一起使用的文件字段。它确实基于z3c.blobfile,它提供了与zope.app.file文件对象类似的接口。如果您正在构建基于Archetypes的内容类型,这可能不是您想要的。