[英]PHP Amazon SDK - s3 putObject and set Body
嗨,我正在嘗試使用此代碼將新對象放入存儲桶中:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once(FCPATH.'s3/aws-autoloader.php');
use Aws\S3\S3Client;
class s3{
public $_secret_key ="********";
public $_access_key = "********";
public $_bucket = "tphotos-dev";
function connect(){
return S3Client::factory(array(
'key' => $this->_access_key,
'secret' => $this->_secret_key,
));
}
function deleteObject($prefix = false){
if($prefix){
$s3 = $this->connect();
return $s3->deleteMatchingObjects($this->_bucket, $prefix);
}
}
function putObject($file_name,$source_file){
$s3 = $this->connect();
$s3->putObject(array(
'Bucket' => (string)$this->_bucket,
'Key' => $file_name,
'SourceFile' => $source_file,
'ACL' => 'public-read',
));
return $s3->waitUntilObjectExists(array(
'Bucket' => $this->_bucket,
'Key' => $file_name
));
}
}
?>
所以,一旦我這樣做:
$s3->putObject('myfilename.jpg',get_file_content("temp/image.jpg"));
它返回錯誤:
Fatal error: Uncaught exception 'Aws\Common\Exception\InvalidArgumentException' with message 'You must specify a non-null value for the Body or SourceFile parameters.' in /Users/ok/Projects/s3/Aws/Common/Client/UploadBodyListener.php:91
任何線索?
對不起,我得到了修復:
只是為了改變這一點
'SourceFile' => $source_file,
至
'Body' => $source_file,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.