2011-01-20 10 views
16

यह मुझे पागल कर रहा है। मैं PHP एसडीके का उपयोग कर एस 3 पर छवियों को अपलोड कर रहा हूं। जब भी मैं छवि यूआरएल पर ब्राउज़ करता हूं, ब्राउज़र इसे प्रदर्शित करने के विरोध में छवि डाउनलोड करता है।अमेज़ॅन एस 3 - ब्राउजर में प्रदर्शित होने की बजाय छवि डाउनलोडिंग

मुझे लगता है कि यह सामग्री प्रकार के साथ कुछ करने के लिए है।

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

क्या आप मदद कर सकते हैं?

धन्यवाद

+0

की आप चित्र URL का एक नमूना पोस्ट कर सके प्रयोग करते हैं? – MrEyes

+0

शायद सामग्री प्रकार को 'छवि/jpg' में बदलने का प्रयास करें (कोर्स की जेपीजी मानते हैं)? http://www.w3schools.com/media/media_mimeref.asp – horatio

उत्तर

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

जो पीओओब्जेक्ट() के साथ PHP 3.x के लिए एडब्ल्यूएस एसडीके का उपयोग कर रहे हैं, मामले कुंजी के लिए अलग है। यह 'कंटेंट टाइप' और 'एसीएल' होगा। – John

13

आपकी सामग्री का प्रकार वास्तव में गलत है। उदाहरण के लिए, जेपीजी के लिए इसे छवि/जेपीईजी होना चाहिए। अपनी खुद की, उचित रूप में मान्य, इस धारणा पर काम कर रहे हैं कि यह सामग्री प्रकार है http://en.wikipedia.org/wiki/Internet_media_type

+0

$ s3-> create_object ($ bucket, $ file_name, array ( 'फ़ाइल अपलोड करें' => $ resized_image, 'contentType' => $ _FILES ['image '] [' टाइप '], ' एसीएल '=> अमेज़ॅनएस 3 :: ACL_PUBLIC )); – drs

2

:

आप अपलोड किया जा रहा है छवि के लिए सही सामग्री प्रकार निर्धारित करने की आवश्यकता है, तो निम्न सूची एक सूची के लिए यह साइट देखें सब सबसे आम प्रकार शामिल

* 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 
)); 
+0

सामग्री प्रकार को छवि/jpg में बदल दिया है और अभी भी डाउनलोड संवाद प्राप्त कर रहा है – drs

+0

क्या आप छवि url का नमूना पोस्ट कर सकते हैं? – MrEyes

+0

RESOLVED। फ़ाइल अपलोड कुंजी की आवश्यकता है। – drs

2

आप काम कर रहे हैं यूआरएल छवियों

'ContentType' => mime_content_type($absolutePathToImage), 

बजाय

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