PHP Amazon SDK – s3 putObject和set Body

前端之家收集整理的这篇文章主要介绍了PHP Amazon SDK – s3 putObject和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,

猜你在找的PHP相关文章