【问题标题】:Fastest way to upload big files [closed]上传大文件的最快方法[关闭]
【发布时间】:2014-06-01 06:02:56
【问题描述】:

我已经实现了 Fineuploader 来上传文件而无需重新加载页面。问题是它非常慢,并且对于不同的大文件(~300M)可能会失败。请注意,我只使用 Fineuploader 3.1,但希望使用更新的版本不会有什么不同。

我的问题是我是否根本不应该对大文件使用某种基于 Ajax 的文件上传方法,而是基于它们的大小回退到一些更传统的重新加载页面的解决方案?使用网站而不是 FTP 等上传大文件的最快方法是什么?

【问题讨论】:

  • 无论你使用javascript/ajax还是传统上传,都是正常的http post请求,所以速度是一样的。唯一的区别是用户体验。
  • 如果您使用 HTTP 或 FTP,它们都位于 TCP 之上,如果由网络基础设施确定传输速率,通常通过测量数据包丢失来确定。您唯一能做的就是检查传输速率是否在您身边的某个地方没有明确限制,否则您将无能为力。
  • 你自己说的。考虑对大文件使用 FTP。它是专门用于发送/接收文件的协议。 HTTP 旨在发送/接收文本...如果瓶颈是您的互联网上传速度,无论是 FTP 还是 HTTP 都不会有效。
  • @Anupam FTP 的速度会与 HTTP 大致相同吗?题外话,能否使用 FTP 实现体面的用户体验?
  • 如果您遇到“我应该如何上传大文件?”的问题。 - 这个问题对SO来说太宽泛了。正如您在下面看到的,不幸的是,您已经为您提出的较小范围的“如何使用 js 以可恢复的方式上传文件”的伪问题吸引了 lib-recommendations。

标签: javascript php fine-uploader


【解决方案1】:

你可以看看: Resumable.js JavaScript 中的容错可恢复文件上传

我认为大文件很容易出错,所以让它可恢复是个好主意。

【讨论】:

    【解决方案2】:

    Fine Uploader 自 3.1 以来发生了很大变化。当前版本已经是 4.4。如果升级,您可能会注意到很大的不同。另外,Fine Uploader 并没有导致您失败,您的网络连接是罪魁祸首。

    Fine Uploader 5.0 将于下周发布,其中包含一项重要功能,该功能将特别为您提供帮助,因为该功能旨在加快单个文件的大型上传:并发分块。没有其他上传库提供此功能(实现起来非常复杂)。并发分块功能已被证明可以将单个文件的大型上传速度提高至少 2 倍。它通过为单个文件同时发送尽可能多的块来实现这一点。您可以在http://docs.fineuploader.com/branch/develop/features/concurrent-chunking.html 的预发行说明中阅读有关此功能的更多信息。

    请注意,Fine Uploader 还提供与 resumable.js 相同的功能以及许多其他功能,例如自动重试、图像缩放、表单支持、直接上传到 S3 和 Azure 等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 2015-07-29
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      相关资源
      最近更新 更多