【问题标题】:Upload Progress percent in ajax upload to S3 bucket using the php-sdk with Mulitpart upload使用带分段上传的 php-sdk 将 ajax 上传到 S3 存储桶的进度百分比
【发布时间】:2014-06-22 15:28:33
【问题描述】:

我正在尝试使用 PHP-SDK 和分段上传将视频文件上传到 S3 存储桶。我已经设法通过 ajax 使它工作,但我想知道如何计算和返回进度?我已经做了很多研究,但还没有找到任何解决方案。

非常感谢任何帮助。

【问题讨论】:

  • 你应该提供一些你做过的例子:)顺便说一句,你有没有设法完成这项工作?
  • @trainoasis 嘿,看看我的回答

标签: php ajax file-upload amazon-web-services amazon-s3


【解决方案1】:

这里是一个使用putObject的例子,可以转换成MultipartUpload:

$client = new S3Client(/* config */);

$result = $client->putObject([
    'Bucket'     => 'bucket-name',
    'Key'        => 'bucket-name/file.ext',
    'SourceFile' => 'local-file.ext',
    'ContentType' => 'application/pdf',
    '@http' => [
        'progress' => function ($downloadTotalSize, $downloadSizeSoFar, $uploadTotalSize, $uploadSizeSoFar) {
            printf(
                "%s of %s downloaded, %s of %s uploaded.\n",
                $downloadSizeSoFar,
                $downloadTotalSize,
                $uploadSizeSoFar,
                $uploadTotalSize
            );
        }
    ]
]);

这在 AWS 文档 - S3 Config section 中有说明。它通过暴露 GuzzleHttp 的 progress property-callable 来工作,如 this SO answer 中所述。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2011-08-17
    • 2019-12-04
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多