【问题标题】:Uploading a file using TCL使用 TCL 上传文件
【发布时间】:2013-05-16 08:57:47
【问题描述】:

我是一名从事 OpenACS 架构的新手,需要通过 TCL 上传一个 .xml 文件。我浏览了文档并尝试使用此处提到的代码:http://wiki.tcl.tk/13675

但是,我无法理解代码并且复制粘贴不起作用。有人可以建议一种更简单的在 TCL 中上传文件的工作方式吗?一个有效的代码会很有帮助。

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

【问题讨论】:

  • 上传是什么意思? FTP、HTTP 表单、SCP?
  • 你写的是客户端代码还是服务器代码?您是要写一条消息来进行上传,还是要处理来自浏览器的上传?你到底有什么问题? “无法让代码工作”不是我们可以解决的确切问题……
  • 我需要通过 HTTP 表单(带有输入类型文件参数)上传文件,并且我要求提供服务器端代码。对于客户端代码,我相信在 .adp 页面中编写纯 html 就足够了。
  • @DonalFellows 我对 TCL 没有什么好主意,所以这些代码超出了我的理解范围。我需要一个简单的工作代码来通过可以在 aolserver 上工作的浏览器上传文件。

标签: tcl openacs


【解决方案1】:

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

【讨论】:

  • @Rachit,我添加了更多指向工作示例的链接。如果您对它们如何组合在一起有任何疑问,我很乐意解释。
【解决方案2】:

在大多数情况下,重新发明网络协议并没有太大价值,因此我建议使用经过验证的社区库。从我个人的经验来看,我很高兴与 libcurl 打交道(见http://curl.haxx.se/libcurl/tcl

【讨论】:

  • 嗨 Yury,你能给我一个通过这个库上传文件的最简单的代码吗?
  • 这将适用于客户端,但从您的更新看来您关心的是服务器端,所以这个答案与那里无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-15
  • 2014-08-15
  • 1970-01-01
  • 2019-02-16
  • 1970-01-01
  • 2011-08-16
相关资源
最近更新 更多