2013-05-16 141 views
1

我是一名致力于OpenACS体系结构的新手,需要通过TCL上传.xml文件。我通过文档,并试图解决这里提到的代码:http://wiki.tcl.tk/13675使用TCL上传文件

但是,我无法理解代码和复制粘贴将无法正常工作。有人能请建议一种更简单的工作方式来上传TCL文件吗?一个工作代码会有很大的帮助。

我需要通过HTTP表单(使用输入类型文件参数)上传文件,并且我要求提供服务器端代码。

+1

你是什么意思与上传? FTP,一种HTTP形式,SCP? –

+2

您是在编写客户端代码还是服务器代码?你想写一条消息来做上传,还是处理来自浏览器的上传?你遇到的问题究竟是什么? “无法获得代码工作”并不是我们可以解决的确切问题... –

+0

我需要通过HTTP表单(使用输入类型文件参数)上载文件,并且我要求提供服务器端代码。对于客户端代码,我相信在.adp页面中编写纯HTML是足够的。 –

回答

-1

在大多数情况下重新发明网络协议并不值得,所以我想推荐使用经过验证的社区库。根据我个人的经验,我很高兴处理libcurl(请参阅http://curl.haxx.se/libcurl/tcl

+0

嗨Yury,你能给我通过这个库上传文件的最简单的代码吗? –

+0

这将是为客户端,但从你的更新似乎你是关心服务器端,所以这个答案是不相关的。 –

0

OpenACS已经内置了文件上传(假设您使用的是OpenACS表单构建器,又名ad_form,template :: form - 它有很多名字!)。你需要使用特定的部件是template::widget::file

一个工作的例子是在总评包(请参阅文件ae.adp,文件add.tcl和文件附加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 
+0

@Rachit,我添加了更多的工作示例链接。如果您对如何融合在一起有任何疑问,我很乐意解释。 – TrojanName