amazon s3 – Bild herunterladen statt im Browser anzeigen

Lesezeit: 2 Minuten

Das macht mich wahnsinnig. Ich lade Bilder mit dem PHP-SDK auf S3 hoch. Immer wenn ich zur Bild-URL navigiere, lädt der Browser das Bild herunter, anstatt es anzuzeigen.

Ich denke, es hat etwas mit dem Inhaltstyp zu tun.

        // Prepare to upload the file to S3 bucket.
        $s3->create_object($bucket, $file_name, array(
                'contentType' => 'binary/octet-stream',
                'acl' => AmazonS3::ACL_PUBLIC
        ));

Kannst du helfen?

Danke

  • Könntest du ein Beispiel der Bild-URL posten?

    – MrEyes

    20. Januar 2011 um 19:09 Uhr

  • Versuchen Sie vielleicht, den Inhaltstyp in „image/jpg“ zu ändern (natürlich unter der Annahme von jpg)? w3schools.com/media/media_mimeref.asp

    – Horatio

    20. Januar 2011 um 19:11 Uhr

            $s3->create_object($bucket, $file_name, array(
                    'fileUpload' => $resized_image,
                    'contentType' => $_FILES['image']['type'],
                    'acl' => AmazonS3::ACL_PUBLIC
            ));

  • Bei Verwendung von AWS SDK for PHP 3.x mit putObject() verhält es sich bei den Schlüsseln anders. Es wird „ContentType“ und „ACL“ sein.

    – John

    25. Oktober 2017 um 7:09 Uhr

Ihr Inhaltstyp ist in der Tat falsch. Für JPGs muss es beispielsweise image/jpeg sein. Auf dieser Website finden Sie eine Liste:
http://en.wikipedia.org/wiki/Internet_media_type

  • $s3->create_object($bucket, $file_name, array( ‘fileUpload’ => $resized_image, ‘contentType’ => $_FILES[‘image’][‘type’]’acl’ => AmazonS3::ACL_PUBLIC ));

    – dr

    21. Januar 2011 um 14:39 Uhr

Wenn Sie arbeiten, verwenden Sie URL-Bilder

'ContentType'  => mime_content_type($absolutePathToImage),

Anstatt von

$_FILES['image']['type']

Arbeiten Sie an Ihrer eigenen, scheinbar gültigen Annahme, dass es sich um den Inhaltstyp handelt:

Sie müssen den richtigen Inhaltstyp für das hochzuladende Bild festlegen. Die folgende Liste enthält alle gebräuchlichsten Typen

* 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

Also eine Überarbeitung Ihres Beispielcodes für einen PNG-Upload:

// Prepare to upload the file to S3 bucket.
$s3->create_object($bucket, $file_name, array(
            'contentType' => 'image/png',
            'acl' => AmazonS3::ACL_PUBLIC
));

1187050cookie-checkamazon s3 – Bild herunterladen statt im Browser anzeigen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy