2014-12-05 5 views
1

Я пытаюсь загрузить файл в свое ведро. Я могу загружать с помощью Body, но не SourceFile. Вот мой метод:SourceFile Amazon AWS S3

$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. 

Я пробовал различные типы файлов и продолжать получать эту ошибку.

+0

Это может быть проблемы с открытием файла. Попробуйте '' Body '=> fopen ($ pathToFile,' r ') 'и посмотрите, есть ли какие-либо проблемы при открытии файла. –

+0

'Недопустимый тип ресурса' - это ошибка, которую я получаю для этого метода. – Riftus

+0

Так что же означает' var_dump (fopen ($ pathToFile, 'r')) '? Он не должен возвращать действительный ресурс. –

ответ

0

Проблема связана с тем, чтобы не дать хороший путь. Похоже, что file_exists() проверяет только локально, что означает, что он должен быть в индексе localhost.

0

Изменить

'SourceFile' => $pathToFile, 

в

'Body' => $pathToFile, 
Смежные вопросы