我已经接近创建一个定制的ftp应用程序,用户将下载该应用程序以便能够上传视频文件(最多100mb)。
当然,我不是第一个解决如何让用户上传大文件问题的人。想知道是否有人可以给我任何提示。
答案 0 :(得分:1)
(它必须是FTP吗?FTP有防火墙,ASCII模式,当然密码是明确的。)
许多语言都有可用的FTP库,你可以用少量的UI胶水串起来制作你自己的简单上传应用程序。例如,Python在标准库中有一个ftplib。例如,上次我在C中使用了Pfau的ftplib,但如果您不介意使用解释器打包应用程序的开销,现代脚本语言将更容易编写。
您的代码中包含.NET ... .NET的标准类库中没有FTP,但您当然可以自由下载第三方库。另一方面,你说跨平台,所以我不确定你是否真的在客户端谈论.NET。
您可以做的是提供多种上传方式,例如您网站内置的基本HTTP *文件上传,每个人都知道如何使用,以及高级用户的标准[S?] FTP界面能够操作FTP客户端。并非操作FTP客户端确实 很难:只需告诉他们将ftp:// URL粘贴到Windows资源管理器中,大多数人都应该可以正常运行。
*:理想情况下使用AJAX反馈让用户知道上传的方式,和/或Flash上传器。并且记得在服务器上关闭/关闭任何脚本超时规则,这样它就不会在上传过程中放弃。对于100MB左右的文件,HTTP上传永远不会是最佳的,但是你可以在这里改进浏览器的默认相当蹩脚的无响应。
答案 1 :(得分:0)
上传到哪里?
您可以让所有人安装Dropbox并从他们都有权访问的商家帐户创建共享。
答案 2 :(得分:0)
如果您不希望用户必须提供用户名和密码,您可能需要考虑单点登录策略。
答案 3 :(得分:0)
如果用户必须上传大文件,请查看具有某种简历功能。
FTP是唯一的选择吗?如果你可以实现基于P2P(bittorrent)的东西,你可以获得大文件的恢复和完整性功能。
这是我从googling bittorent library
获得的2答案 4 :(得分:0)
如何用JS和HTML构建一个简单的Adobe Air应用程序我相信它现在具有FTP套接字功能。您还可以使用内置数据库来存储发送到何处,占用空间小,跨平台的详细信息,您可以使用您感觉最好的内容(flash,flex,JS / HTML)来构建它。
我有类似的要求,我正在考虑使用Adobe air和jQuery或Ext作为解决方案。
答案 5 :(得分:0)
虽然不是FTP,但您可以尝试使用swfupload通过HTTP上传文件。我们正在使用它约。在IIS上上传100mb文件,它运行得相当好。
请注意,您必须将web.config中的最大请求大小设置为100或更多MB ...
答案 6 :(得分:0)
上传100mb文件并不比1kb文件复杂。您必须简单地确保接收器(在这种情况下是服务器)不会尝试将整个文件接收到内存中。服务器可以立即将数据写入磁盘或db CLOB。服务器从输入流中读取并写入输出流,只需要很少的资源。
答案 7 :(得分:0)
想想我会建议像bobince提到的两条路线
1)http使用SWFUpload(bh213),我之前使用过它。这很容易设置并具有良好的用户体验
2)然后提供ftp选项。使用浏览器或类似filezilla的东西。