【问题标题】:SourceFile Amazon AWS S3源文件亚马逊 AWS S3
【发布时间】:2015-02-03 23:02:12
【问题描述】:

我正在尝试将文件上传到我的存储桶。我可以使用 Body 但不能使用 SourceFile 上传。这是我的方法:

$pathToFile='/explicit/path/to/file.jpg'

// Upload an object by streaming the contents of a file
$result = $s3Client->putObject(array(
            'Bucket'     => $bucket,
            'Key'        => 'test.jpg',
            'SourceFile'   => $pathToFile,
            'ACL'    => 'public-read',
            'ContentType' => 'image/jpeg'
));

但我收到此错误:

You must specify a non-null value for the Body or SourceFile parameters.

我尝试了不同类型的文件并不断收到此错误。

【问题讨论】:

  • 打开文件可能有问题。试试'Body' => fopen($pathToFile, 'r') 看看打开文件是否有问题。
  • Invalid resource type 是我使用该方法得到的错误
  • 那么var_dump(fopen($pathToFile, 'r')) 是什么样的?它不能返回有效的资源。

标签: php api amazon-web-services amazon-s3


【解决方案1】:

问题与没有提供好的路径有关。看起来 file_exists() 只在本地检查,这意味着它必须在本地主机的索引内。

【讨论】:

    【解决方案2】:

    改变

    'SourceFile'   => $pathToFile,
    

    'Body'   => $pathToFile,
    

    【讨论】:

      猜你喜欢
      • 2011-04-15
      • 2018-01-22
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 2012-05-01
      相关资源
      最近更新 更多