2015-10-15 4 views
0

Я пытаюсь создать каталог в амазонки AWS s3 для этого я пытаюсь следующий код (я использую v3 PHP SDK)Amazon AWS s3 содержание заголовка

$bucketName = 'somebucketName'; 
$key = 'folderName'; 

$params = [ 
    'Bucket' => $bucketName, 
    'Key' => $key . '/' 
    ]; 
$s3->putObject($params); 

$ s3 является экземпляром $s3 = new Aws\S3\S3Client класса, я получив ведро и объект успешно с моей текущей конфигурацией.

он работал отлично и раньше, но теперь я получаю ошибку

Fatal error: Uncaught exception 'Aws\S3\Exception\S3Exception' with message 'Error executing "PutObject" on " https://s3-us-west-2.amazonaws.com/sdfsdf/demoer/ ";

AWS HTTP error: Client error: 411 MissingContentLength (client): You must provide the Content-Length HTTP header.

ответ

2

Эта ошибка происходит из-за вас не пропуская любое изображение или объект для положить. передать объект тоже. Я также столкнулся с подобной проблемой https://stackoverflow.com/questions/32117596/aws-s3-uploaded-images-are-getting-corrupted Проверьте приведенный ниже код.

try { 
    $result = $s3->putObject(array(
     'Bucket' => $bucketName, 
     'Key' => $key . '/', 
     'SourceFile' => $filepath, // file path which is putting on AWS S3, Path should be absolute path like $filepath = "/var/www/html/for_testing_aws/assets/img/avtar.png"; 
     'ContentType' => mime_content_type($filepath), 
    )); 
} catch (S3Exception $e) { 
    echo $e->getMessage() . "\n"; 
} 

для получения дополнительной информации AWS putObject

+0

он работал отлично до:/ –

+0

Его из-за изменений в api. – urfusion

+0

Он работает на вас? – urfusion