2

我有一个接受非常大的文件的网络服务。通常在 10 - 15 GB(不是 MB)的范围内。然而,使用浏览器上传只能在 Linux 上使用 Chrome。所有 3 种主要浏览器在尝试上传此类文件时都有不同的缺陷:

  • Internet Explorer 在正好 4GB 后停止。
  • Firefox 根本没有启动。
  • Chrome(在 Windows 上)传输整个文件,但无法发送关闭绑定(改为发送 0xff)。

现在我们正在寻找一种让上传工作的方法。最好只使用 HTML/JS,但我认为没有办法做到这一点。第二次尝试是闪存,但 FileReference 似乎会因文件 > 4GB 而中断。最后一种方式是 Java,但这不是我们在浏览器客户端中寻找的方式。

请注意,这是关于客户端的。我知道服务器端代码有效,因为我可以在 Linux 上使用标准 HTML-Upload 和 Chrome 上传 12GB 文件。这是迄今为止唯一有效的浏览器/操作系统组合,但因此我确信,服务器代码很好。

有谁知道让大文件上传工作的任何方法?

问候, 史蒂芬

4

3 回答 3

1

有一个相当年轻的 JS/HTML5 API 可能涵盖您的用户案例:

https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications

我不能说它的适用性。

于 2012-09-18T12:31:05.680 回答
-1

如果您使用的是 IIS,则默认最大文件上传为 4GB。您需要在脚本或服务器设置中更改此设置。

请参阅:在 IIS7/Win7 Pro 上增加最大上传文件大小

于 2012-09-17T20:08:12.147 回答
-1

通常,您会使用流上传来分块上传此类文件。如果您获取文件的有限数据,则将该部分上传到服务器,服务器将数据附加到文件中。重复直到上传完整的文件。FileStream您可以使用(更新:仅限 Adob​​e AIR)或使用 javascript 使用实验性Blob/部分读取文件FileReader。我想这可能是解决问题的方法。

我认为这个解决方案可能会有所帮助: AS3 fileStream 似乎将文件读入内存

让我知道这是否可行,这是一个有趣的问题。

于 2012-09-17T20:30:20.757 回答