【问题标题】:Uploading a chunk of a file上传文件块
【发布时间】:2015-04-13 03:00:22
【问题描述】:

在我的 PHP 网页中,我允许我的客户上传文件。该文件可能非常大(1-2 GB)。我已经修改了 php.ini 以允许用户上传大文件。

现在,我想知道如何只上传文件的 1 块(块的大小由用户选择)。例如,我有一个 1 GB 的文件,但我只想上传该文件的前 150 MB(即使已分块,该文件仍然可以工作,但可以使用的样本更少)。

我该怎么做?如果我这样做,我会让用户不必等待太多时间来上传 1 GB 的文件,而用户将上传一个 150 MB 的文件(150/1000 MB)。

我找到了一些方法,比如 PLUPLOAD,但我不喜欢使用 JavaScript,因为我想在我的服务器而不是客户端完成所有进程/工作。或者使用 fread()、fopen() 和 fwrite(),但在这种情况下,如果没有先上传完整文件,我将无法使用这些命令。

P.D.:如果有必要,我也可以在上传文件之前使用 Python 对文件进行分块,但我认为我会遇到与 fread()、fopen() 等相同的问题......

谢谢。

【问题讨论】:

    标签: php python file-upload upload


    【解决方案1】:

    如果您不愿意在上传之前在客户端上拆分文件,则需要使用一些客户端代码(在支持的浏览器上)来执行部分上传。

    例如,请参阅https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads

    【讨论】:

    • 感谢您的回答马克。好吧,如果别无选择,我将不得不在发送文件之前使用客户端代码对文件进行分块。但我想要一个带有套接字和 fread() 或其他东西的选项,这将允许用户在他的机器上免费分块文件。
    猜你喜欢
    • 2019-06-29
    • 2018-09-30
    • 2017-01-08
    • 2011-05-11
    • 2022-11-24
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多