![](/img/trans.png)
[英]Upload files directly to the FTP server by using “Jquery file upload plugin”
[英]Upload local file from webbrowser directly to FTP server, bypass the web server
我想将用户上传的文件(从网站<form>
)上传到我的FTP服务器,在该服务器中我想绕过该服务器,并希望将该文件直接发送到FTP服务器。 是否可以使用PHP或JavaScript?
在当前情况下,当我使用HTML表单和PHP将文件上传到Apache服务器时,该文件存储在/tmp/
目录中,然后可以将其传输到FTP位置。 但这需要两倍的时间进行上传,因为文件首先要上传到Apache服务器,然后再上传到FTP服务器。
云服务器以这种方式运行,可以通过Apache服务器传递文件,并且可以将文件直接发布到云服务器)
我想要这样做,以便我们可以克服HTTP部分,并希望将大文件上传到FTP服务器,而不会受到任何HTTP上传限制。
HTML form
标签不支持FTP。
您也不能使用PHP,因为它无法访问本地(从Web浏览器开始)文件。
因此,JavaScript是唯一可能的解决方案。
XMLHttpRequest
类理论上支持FTP:
不管它的名字是什么,
XMLHttpRequest
都可以用来检索任何类型的数据,而不仅仅是XML,它还支持HTTP以外的协议(包括file
和ftp
)。
但实际上,事实并非如此。
请参阅对FTP服务器执行跨域XMLHTTPREQUEST的语法是什么的公认答案。
因此,实际上,似乎没有任何可用的解决方案。
如果可能,请在FTP服务器主机上运行Web服务器,然后使用Web服务器(HTTP)发送文件。
另一种选择是坚持通过Web服务器进行传输,但是要采用流模式。 将文件发布到Web服务器。 使处理脚本连续读取传入的数据,并将其连续上传到FTP服务器。
您不会节省带宽,但是会节省时间(因为两种传输几乎同时进行)。
可以将ftp_fput
与标准输入的句柄一起使用(不要尝试)。
如果不在Web应用程序中使用HTTP协议,则很难将FTP数据(BIGfile)传输到备份服务器。
假设S1-(客户端浏览器),S2-(代码容器服务器),S3-(文件备份服务器),我们希望使用FTP从s1上传2gb文件。
用例图这可以通过“ JavaApplet”完成。 我们可以在Web应用程序中嵌入上载器小程序。 该小程序将在浏览器沙箱中运行。 使用小程序检查ftp的链接示例代码
前提是您必须在浏览器中启用Java。 样例代码
侧面负载的ftp框图
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.