我正在尝试使用以下代码将文件从php代码移动到s3桶:
$bucket = "bucket-name";
$s3 = S3Client::factory(array(
'key' => 'xxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
));
$baseImageUrl = "http://www.xxxxx.com/banner_mobile.jpg";
$keyname = "31.jpg";
try {
// Upload data.
$result = $s3->putObject(array(
'Bucket' => $bucket,
'Key' => $keyname,
'Body' => $baseImageUrl,
'ContentType' => 'image/jpg',
'ACL' => 'public-read'
));
// Print the URL to the object.
echo $result['ObjectURL'] . "'n";
} catch (S3Exception $e) {
echo $e->getMessage() . "'n";
} catch(Exception $ex){
echo $ex->getMessage()."'n";
}
一个空文件(或损坏的文件)被上传到s3桶。图片实际大小为37KB,但上传的文件大小为40B。这是什么原因呢?
看起来你是在插入url作为文件的主体,所以你上传的是带有文本的图像文件,如果你想上传该文件,你需要有文件的路径或内容