如何使用plone.formwidget.multifile访问上载的文件

如何使用plone.formwidget.multifile访问上载的文件,plone,dexterity,Plone,Dexterity,我有一个自定义灵巧类型,它利用plone.formwidget.multifile.MultiFileFieldWidget: class ITestimony(form.Schema): ... form.widget(files=MultiFileFieldWidget) files = schema.List( title=_(u"Files"), value_type=NamedFile() ) 编辑项目时,一切正常:

我有一个自定义灵巧类型,它利用plone.formwidget.multifile.MultiFileFieldWidget:

class ITestimony(form.Schema):
    ...
    form.widget(files=MultiFileFieldWidget)
    files = schema.List(
        title=_(u"Files"),
        value_type=NamedFile()
    )
编辑项目时,一切正常:

以下是我尝试借用的相关视图模板:


附件
我想附件可以通过点击链接下载。但我的当前模板出现错误:

AttributeError:“list”对象没有属性“getSize”


如何下载上载的文件?

关于如何灵活处理文件的一些说明如下:

具体而言,构建下载URL:


@@download
helper视图)

实际上答案来自

以下代码片段对我很有用:

<fieldset tal:condition="context/files">
<legend>Attached Files</legend>
<ul>
  <tal:files repeat="item context/files">
  <li><a href=""
    tal:attributes="href string:${context/absolute_url}/@@edit/++widget++form.widgets.files/@@download/${repeat/item/index}"
    tal:content="item/filename">Attached File</a></li>
  </tal:files>
</ul>
</fieldset>

附件

虽然这里连接了使用
@@edit
,但我们希望很快会有更好版本的plone.formwidget.multifile或相关软件包。

这里有一个参考信息:另一个相关的线程记录,上面的链接被移动到
<fieldset tal:condition="context/files">
<legend>Attached Files</legend>
<ul>
  <tal:files repeat="item context/files">
  <li><a href=""
    tal:attributes="href string:${context/absolute_url}/@@edit/++widget++form.widgets.files/@@download/${repeat/item/index}"
    tal:content="item/filename">Attached File</a></li>
  </tal:files>
</ul>
</fieldset>