如何使用 Orbeon XForms 将文件本地保存在磁盘上并可供下载?
How can I save a file using Orbeon XForms locally on the disk and make it available for download?
我对 Orbeon/XForms 的语法有点吃力。我正在尝试创建一个表单,您可以从中上传文件并将其保存在本地磁盘上,然后可供下载。或者更好的是,显示磁盘目录的内容并使文件可下载。
我们的想法是上传 xml 文件,然后后台进程将它们转换为不同的格式并提供下载。
到目前为止,我有这个:
<xf:upload ref=".">
<xf:filename>file:////home/me/data-in/*.xml</xf:filename>
<xf:mediatype>text/xml</xf:mediatype>
</xf:upload>
<br/>
<xf:output ref=".">
<xf:label>File: </xf:label>
</xf:output>
问题是文件没有存储在我想要保存的位置 (file:////home/me/data-in/*.xml),而是 /home/me/apache-tomcat-7 .0.57/temp 并使用不同的名称。
任何人都可以给我一些想法和例子吗?
谢谢!
我假设您指的 "disk" 是服务器端,而不是用户端。
无法选择位置:所有上传的文件都是临时文件。通常,XForms 引擎无法直接访问文件系统。
这就是说,如果您只想执行 upload/download,请尝试使用文件附件控件,例如 here。
如果你想使用它"by hand":
<fr:attachment ref="my-data" xmlns:fr="http://orbeon.org/oxf/xml/form-runner">
<xf:label>Attached file</xf:label>
<!-- Optional -->
<xf:filename ref="@filename"/>
<xf:mediatype ref="@mediatype"/>
<xxf:size ref="@size"/>
</fr:attachment>
本控件为您提供内置下载link。
我对 Orbeon/XForms 的语法有点吃力。我正在尝试创建一个表单,您可以从中上传文件并将其保存在本地磁盘上,然后可供下载。或者更好的是,显示磁盘目录的内容并使文件可下载。
我们的想法是上传 xml 文件,然后后台进程将它们转换为不同的格式并提供下载。
到目前为止,我有这个:
<xf:upload ref=".">
<xf:filename>file:////home/me/data-in/*.xml</xf:filename>
<xf:mediatype>text/xml</xf:mediatype>
</xf:upload>
<br/>
<xf:output ref=".">
<xf:label>File: </xf:label>
</xf:output>
问题是文件没有存储在我想要保存的位置 (file:////home/me/data-in/*.xml),而是 /home/me/apache-tomcat-7 .0.57/temp 并使用不同的名称。
任何人都可以给我一些想法和例子吗?
谢谢!
我假设您指的 "disk" 是服务器端,而不是用户端。
无法选择位置:所有上传的文件都是临时文件。通常,XForms 引擎无法直接访问文件系统。
这就是说,如果您只想执行 upload/download,请尝试使用文件附件控件,例如 here。
如果你想使用它"by hand":
<fr:attachment ref="my-data" xmlns:fr="http://orbeon.org/oxf/xml/form-runner">
<xf:label>Attached file</xf:label>
<!-- Optional -->
<xf:filename ref="@filename"/>
<xf:mediatype ref="@mediatype"/>
<xxf:size ref="@size"/>
</fr:attachment>
本控件为您提供内置下载link。