Amazon S3 - 您建议的上传小于允许的最小大小
2022-08-30 22:05:23
当我想要将图像上传到我的 Amazon s3 存储桶时,我遇到了问题。
我正在尝试上传大小为 238 KB 的 jpg 图像。我已经在我的代码中放置了一个try/catch来检查错误是什么。我总是得到这个错误:
您建议的上传小于允许的最小大小
我也尝试过1MB和2MB的图像,同样的错误...... 。
这是我的代码:
<?php
// Include the SDK using the Composer autoloader
require 'AWSSDKforPHP/aws.phar';
use Aws\S3\S3Client;
use Aws\Common\Enum\Size;
$bucket = 'mybucketname';
$keyname = 'images';
$filename = 'thelinktomyimage';
// Instantiate the S3 client with your AWS credentials and desired AWS region
$client = S3Client::factory(array(
'key' => 'key',
'secret' => 'secretkey',
));
// Create a new multipart upload and get the upload ID.
$response = $client->createMultipartUpload(array(
'Bucket' => $bucket,
'Key' => $keyname
));
$uploadId = $response['UploadId'];
// 3. Upload the file in parts.
$file = fopen($filename, 'r');
$parts = array();
$partNumber = 1;
while (!feof($file)) {
$result = $client->uploadPart(array(
'Bucket' => $bucket,
'Key' => $keyname,
'UploadId' => $uploadId,
'PartNumber' => $partNumber,
'Body' => fread($file, 5 * 1024 * 1024),
));
$parts[] = array(
'PartNumber' => $partNumber++,
'ETag' => $result['ETag'],
);
}
// Complete multipart upload.
try{
$result = $client->completeMultipartUpload(array(
'Bucket' => $bucket,
'Key' => $keyname,
'UploadId' => $uploadId,
'Parts' => $parts,
));
$url = $result['Location'];
fclose($file);
}
catch(Exception $e){
var_dump($e->getMessage());
}
(我已更改存储桶、键和图像链接。
以前有人有过这个吗?在互联网上搜索对我没有多大帮助。
此外,搜索更改最小上传大小也没有提供太多帮助。
更新:
当我尝试使用本地图像(更改文件名)时,它起作用了!如何使此功能与在线图像一起使用?现在我把它保存在我的临时文件中,然后从那里上传它。但是,难道没有办法直接存储它而不将其保存在本地吗?