我有一个S3存储桶,并且正在使用GitHub S3类。我成功上传了一个小于5GB的文件。但我想上传超过5GB的数据 - 例如单次转账100GB。
S3::setAuth(awsAccessKey, awsSecretKey);
$bucket = "upload-bucket";
$path = "myfiles/"; // Can be empty ""
$lifetime = 3600; // Period for which the parameters are valid
$maxFileSize = (1024 * 1024 * 1024 * 5);
$metaHeaders = array("uid" => 123);
$requestHeaders = array(
"Content-Type" => "application/octet-stream",
"Content-Disposition" => 'attachment; filename=${filename}'
);
$params = S3::getHttpUploadPostParams(
$bucket,
$path,
S3::ACL_PUBLIC_READ,
$lifetime,
$maxFileSize,
201, // Or a URL to redirect to on success
$metaHeaders,
$requestHeaders,
false // False since we're not using flash
);
$uploadURL = "https://{$bucket}.s3.amazonaws.com/";
<form method="post" action="<?php echo $uploadURL; ?>" enctype="multipart/form-data">
<input type="file" name="file" /> <input type="submit" value="Upload" />
</form>
我想通过文件浏览器上传更多100GB数据。通过使用上面的代码,我可以上传5 GB的数据。但是,如果我尝试上传超过5GB的数据,例如10Gb,100GB。那么这种类型的错误正在显示
答案 0 :(得分:1)
阅读the FAQ:
可以在单个PUT中上传的最大对象是5 千兆字节。对于大于100兆字节的对象,客户应该 考虑使用分段上传功能。
您无法在一个请求中上传大于5 Gb的文件,因此您需要为分块(“多部分”)上传开发解决方案。