Это сводит меня с ума. Я загружаю изображения на S3 с помощью php SDK. Всякий раз, когда я просматриваю URL-адрес изображения, браузер загружает изображение, противоположное его отображению.
Я думаю, что это связано с типом контента.
// Prepare to upload the file to S3 bucket. $s3->create_object($bucket, $file_name, array( 'contentType' => 'binary/octet-stream', 'acl' => AmazonS3::ACL_PUBLIC ));
Вы можете помочь?
благодаря
$s3->create_object($bucket, $file_name, array( 'fileUpload' => $resized_image, 'contentType' => $_FILES['image']['type'], 'acl' => AmazonS3::ACL_PUBLIC ));
На самом деле ваш тип контента ошибочен. Например, для JPG должно быть изображение / jpeg. Перейдите на этот сайт: http://en.wikipedia.org/wiki/Internet_media_type
Работая самостоятельно, казалось бы, действительно, предположение, что это тип контента:
Вам необходимо установить правильный тип контента для загружаемого изображения, следующий список содержит все наиболее распространенные типы
* image/gif: GIF image * image/jpeg: JPEG JFIF image * image/png: Portable Network Graphics * image/svg+xml: SVG vector image * image/tiff: Tag Image File Format * image/vnd.microsoft.icon: ICO image
Итак, переделка вашего образца кода для загрузки png:
// Prepare to upload the file to S3 bucket. $s3->create_object($bucket, $file_name, array( 'contentType' => 'image/png', 'acl' => AmazonS3::ACL_PUBLIC ));
Если вы работаете с изображениями URL, используйте
'ContentType' => mime_content_type($absolutePathToImage),
вместо
$_FILES['image']['type']