上传到远程FTP的多文件web上传器


Multiple file web uploader that uploads to remote FTP?

在上周我筋疲力尽之后,我正在寻找某种网络上传器,它可以让我的客户上传一堆文件(通常最多200个),并将它们存储到远程FTP服务器上。我想要的是类似于uploadify、swfupload等的东西,但可以通过我的网页(在我的托管公司)上传文件并存储到我的本地ftp服务器。

我正在寻找类似于uploadify、swfupload等的东西,但它有可能将文件存储在我的本地服务器上,这一点至关重要。

如果这在某种程度上是不可能做到的,它也可以通过html将文件上传到我的网站(uploadify等会这样做),并在完成后将文件从网络服务器复制到我的本地ftp。

我发现的最接近的东西是filechunker,它看起来是完美的解决方案,但它不允许我添加多个文件,只是一个接一个。

所有的帮助都将不胜感激!

不幸的是,我不能给你一个具体的答案,但让我说,理论上应该可以为Flash或Java应用程序这样做,因为它们可以使用原始TCP套接字并实现FTP协议(但我不知道有任何基于Flash的实现)。

如果我没有错的话,所有主要的浏览器都通过浏览FTP目录本身来提供通过FTP的本地文件上传(但你不能影响视觉外观),就像Windows资源管理器可以访问FTP服务器并像使用网络驱动器一样。

但是,我不鼓励您使用FTP服务器。这种具有双重连接的协议以及被动/非被动模式经常会导致问题。通常,通过HTTP上传并自己实现基于HTTP的文件服务器要好得多,毕竟这很容易(但要非常小心,不要暴露太多服务器的文件系统)。

我看不出使用FTP的真正原因,除非你真的想让你的用户使用他们选择的FTP客户端,但这与你的问题相反。

希望这能有所帮助。

更新:我刚刚注意到一句话"将文件从web服务器复制到我的本地ftp"。如果你真的在谈论两个不同的服务器,我仍然建议上传HTTP,然后通过PHP脚本(你的网络服务器充当代理)将文件转发到FTP服务器。

我认为直接从浏览器上传到FTP是不可行的,因为你必须在网站上或多或少地看到你的凭据(例如在你的javascript源中)。

我曾经创建过类似的东西,但由于这个问题,我决定通过plupload上传到AmazonS3,然后通过s3sync同步文件。优点是

  • 大文件大小(2GB以上)
  • 一次性上传令牌,无需向客户端发送凭据
  • web服务器没有流量(通信运行client->s3

看看这个线程的实现:http://www.plupload.com/punbb/viewtopic.php?id=133

经过疯狂的搜索,我终于找到了可以使用的东西。这个java小程序允许我上传无限数量的文件,压缩它们,我设法将一个php变量传递到小程序中,这样zip文件就以用户的电子邮件地址作为文件名存储。虽然花了我29美元,但很值得,因为我现在可以完全控制文件的去向和上传者。