如何为用户处理100mb上传

时间:2008-10-18 10:53:27

标签: .net ftp

我已经接近创建一个定制的ftp应用程序,用户将下载该应用程序以便能够上传视频文件(最多100mb)。

  • 他们希望它是白痴证明(即对于非计算机文化的人来说很容易)。我假设使用用户名和密码设置像FileZilla这样的ftp应用程序对于大多数用户来说太过分了。
  • 跨平台(哎哟)

当然,我不是第一个解决如何让用户上传大文件问​​题的人。想知道是否有人可以给我任何提示。

8 个答案:

答案 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

http://sourceforge.net/projects/libbt/

http://www.codeproject.com/KB/cpp/FTKernelAPI.aspx

答案 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的东西。