我是一名从事 OpenACS 架构的新手,需要通过 TCL 上传一个 .xml 文件。我浏览了文档并尝试使用此处提到的代码:http ://wiki.tcl.tk/13675
但是,我无法理解代码并且复制粘贴不起作用。有人可以建议一种更简单的在 TCL 中上传文件的工作方式吗?一个工作代码会有很大帮助。
我需要通过 HTTP 表单(带有输入类型文件参数)上传文件,并且我要求提供服务器端代码。
我是一名从事 OpenACS 架构的新手,需要通过 TCL 上传一个 .xml 文件。我浏览了文档并尝试使用此处提到的代码:http ://wiki.tcl.tk/13675
但是,我无法理解代码并且复制粘贴不起作用。有人可以建议一种更简单的在 TCL 中上传文件的工作方式吗?一个工作代码会有很大帮助。
我需要通过 HTTP 表单(带有输入类型文件参数)上传文件,并且我要求提供服务器端代码。
OpenACS 已经内置了文件上传功能(假设您使用的是 OpenACS 表单生成器,即 ad_form、template::form - 它有很多名称!)。您需要使用的特定小部件是template::widget::file
General Comments 包中有一个工作示例(参见 file-ae.adp、file-add.tcl 和 file-add-2.tcl): http ://cvs.openacs.org/browse/OpenACS/openacs-4/ packages/general-comments/www/file-ae.adp?r=1.6 http://cvs.openacs.org/browse/OpenACS/openacs-4/packages/general-comments/www/file-add.tcl?r =1.4 http://cvs.openacs.org/browse/OpenACS/openacs-4/packages/general-comments/www/file-add-2.tcl?r=1.6
具体来说,请注意 2 ad_page_contract 参数,并在代码中跟踪这些变量:
upload_file:notnull
upload_file.tmpfile:tmpfile
在大多数情况下,重新发明网络协议并没有多大价值,所以我建议使用经过验证的社区库。根据我的个人经验,我很高兴与 libcurl 打交道(请参阅http://curl.haxx.se/libcurl/tcl)