amazon s3 - загрузка изображения вместо отображения в браузере - PullRequest
23 голосов
/ 20 января 2011

Это сводит меня с ума.Я загружаю изображения на S3, используя php SDK.Всякий раз, когда я просматриваю URL изображения, браузер загружает изображение вместо его отображения.

Я думаю, это как-то связано с типом контента.

спасибо

Ответы [ 4 ]

19 голосов
/ 21 января 2011
            $s3->create_object($bucket, $file_name, array(
                    'fileUpload' => $resized_image,
                    'contentType' => $_FILES['image']['type'],
                    'acl' => AmazonS3::ACL_PUBLIC
            ));
14 голосов
/ 20 января 2011

Ваш тип контента действительно неправильный. Это должно быть изображение / JPEG для JPG, например. Смотрите этот сайт для списка: http://en.wikipedia.org/wiki/Internet_media_type

2 голосов
/ 20 февраля 2017

Если вы работаете с URL-изображениями, используйте

'ContentType'  => mime_content_type($absolutePathToImage),

вместо

$_FILES['image']['type']
2 голосов
/ 20 января 2011

Работает самостоятельно, на первый взгляд, допустимо, предполагая, что это тип контента:

Вам необходимо установить правильный тип содержимого для загружаемого изображения, следующий список содержит все наиболее распространенные типы

* 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
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...