【问题标题】:how to handle 100mb uploads for users如何为用户处理 100mb 的上传
【发布时间】:2008-10-18 10:53:27
【问题描述】:

有人联系我创建一个定制的 ftp 应用程序,用户将下载该应用程序以便能够上传视频文件(最大 100mb)。

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

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

【问题讨论】:

    标签: .net ftp


    【解决方案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 上传器。并记住关闭/关闭服务器上的任何脚本超时规则,这样它就不会在上传中途放弃。 HTTP 上传对于 100MB 大小的文件永远不会是最佳选择,但您当然可以在这里改善默认的浏览器相当糟糕的无响应性。

    【讨论】:

      【解决方案2】:

      上传到哪里?

      您可以让每个人都安装 Dropbox 并从他们都可以访问的企业帐户创建一个共享。

      【讨论】:

      • 谢谢,我刚刚给他们发了电子邮件,询问他们是否有某种 api。因为我需要一种方法来获取用户文件一旦上传。看起来像一套漂亮的衣服。
      【解决方案3】:

      如果您不希望用户必须提供用户名和密码,您可能需要考虑单点登录策略。

      【讨论】:

      • 是的,这真的可行吗?你可以采取什么样的策略。
      【解决方案4】:

      如果用户必须上传大文件,请寻找一种恢复功能。

      FTP 是唯一的选择吗?如果您可以基于 P2P (bittorrent) 实现某些功能,您可以获得大文件的恢复和完整性功能。

      这是我从谷歌搜索 bittorent 库中得到的 2 个

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

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

      【讨论】:

        【解决方案5】:

        虽然不是 FTP,但您可以尝试使用 swfupload 通过 HTTP 上传文件。我们使用它大约。在 IIS 上上传 100mb 文件,并且运行良好。

        请注意,您必须在 web.config 中将最大请求大小设置为 100 或更多 MB...

        【讨论】:

          【解决方案6】:

          上传 100mb 的文件并不比 1kb 的文件复杂。您必须简单地确保接收方(在本例中为服务器)不会尝试将整个文件接收到内存中。服务器可以立即将数据写入磁盘或数据库 CLOB。服务器从输入流读取并写入输出流,所需资源非常少。

          【讨论】:

            【解决方案7】:

            谢谢大家,必须说这是我在论坛上得到的最全面的回复。

            我想我会推荐 2 条路线,比如提到的 bobince

            1) http 使用 SWFUpload (bh213),我以前用过。它很容易设置并且具有良好的用户体验

            2) 然后提供一个 ftp 选项。使用浏览器或类似 filezilla 的东西。

            【讨论】:

              【解决方案8】:

              如何使用 JS 和 HTML 构建一个简单的 Adob​​e Air 应用程序?我相信它现在具有 FTP 套接字功能。您还可以使用 DB 中的构建来存储发送到何处、占用空间小、跨平台的详细信息,并且您可以使用您认为最擅长的方式构建它(flash、flex、JS/HTML)。

              我有类似的要求,我正在考虑使用 Adob​​e air 和 jQuery 或 Ext 作为解决方案。

              【讨论】:

              • 如果使用 Adob​​e Air,我会有点不适应。看起来确实是一个性感的选择。有没有现成的东西。也许你准备创造一些东西?
              • 嗯,可能他们的东西已经可用了。看看 adobe 上的市场,很多东西都提供了源代码,所以也许可以稍微修改一些东西。在下面搜索上传adobe.com/cfusion/exchange/…
              猜你喜欢
              • 2011-08-14
              • 2020-06-05
              • 2021-06-09
              • 2012-02-01
              • 2020-07-20
              • 1970-01-01
              • 1970-01-01
              • 2012-04-30
              • 1970-01-01
              相关资源
              最近更新 更多