से एस 3 ऑब्जेक्ट्स के लिए कैश-कंट्रोल HTTP हैडर सेट करें मैं PHP के लिए अमेज़ॅन एसडीके का उपयोग कर रहा हूं और छवि पर कैश-कंट्रोल हेडर सेट करने का प्रयास कर रहा हूं। जब मैं मेटाडाटा = सरणी ("कैश-कंट्रोल") के माध्यम से इसे जोड़ने का प्रयास करता हूं तो यह एस-बाल्टी में लॉगिन करते समय x-amz-meta-cache-control होने के लिए बदलता है, और जब मैं फ़ाइल डाउनलोड करता हूं, तो कोई कैश नहीं होता है -control सेट। लेकिन अगर मैं मैन्युअल रूप से इस सेटिंग को बदलता हूं, तो कैश-कंट्रोल पूरी तरह से काम करता है। क्या मुझे कुछ पैरामीटर याद आ रहा है जिसे मैं अपलोड पर HTTP अनुरोध शीर्षलेख प्रोग्रामेटिक रूप से सेट करने के लिए उपयोग कर सकता हूं? मैं PutObject विधि का उपयोग कर रहा हूँ। मेरा मानना है कि एडब्ल्यूएस एसडीके 2013 से है।PHP एडब्ल्यूएस एसडीके
उत्तर
कैश नियंत्रण "मेटाडेटा" इंडेक्स के माध्यम से सेट नहीं है, "कैशकंट्रोल" उसी स्तर पर है "मेटाडेटा", इसमें निहित नहीं है।
http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html#_putObject
आप putObject() विधि के लिए आपके विन्यास सरणी के रूप में कुछ इस तरह का उपयोग करें ...
$s3client->putObject(array(
'Bucket' => '...',
'key' => '...',
'body' => '...',
'CacheControl' => 'max-age=172800',
'MetaData' => array(
'metaKey' => 'metaValue',
'metaKey' => 'metaValue'
)));
अपलोड() विधि के लिए ...
$s3client->upload(
'bucket',
'key',
fopen('sourcefile','r'),
'public-read',
array('params' => array(
'CacheControl' => 'max-age=172800',
'Metadata' => array(
'metaKey' => 'metaValue',
'metaKey' => 'metaValue'
))));
इसके अलावा, यह इंगित करने योग्य है कि upload()
लपेट जाएगा आकार में 5 एमबी की फाइलों के लिए, अन्यथा यह एक मल्टीपार्ट अपलोड अनुरोध शुरू करेगा।
यदि आप CacheControl
हेडर को अपनी बाल्टी में पहले से ही किसी आइटम में जोड़ना चाहते हैं, तो एसडीके की copyObject
विधि का उपयोग करें। आइटम को ओवरराइट करने के लिए MetadataDirective
परम को सेट करने के लिए सेट करें।
मैंने एक अजीब चीज देखी: मुझे ContentType
हेडर भी सेट करना पड़ा, भले ही यह पहले से सेट हो। अन्यथा छवि ब्राउज़र में इनलाइन प्रदर्शित नहीं करेगी लेकिन डाउनलोड के रूप में पेश की जाएगी।
$result = $s3->copyObject(array(
'ACL' => 'public-read',
'Bucket' => $bucket, // target bucket
'CacheControl' => 'public, max-age=86400',
'ContentType' => 'image/jpeg', // !!
'CopySource' => urlencode($bucket . '/' . $key),
'Key' => $key, // target file name
'MetadataDirective' => 'REPLACE'
));
- 1. एडब्ल्यूएस PHP एसडीके
- 2. लैरवेल और एडब्ल्यूएस PHP एसडीके - एस 3
- 3. एडब्ल्यूएस एसडीके
- 4. एडब्ल्यूएस एसडीके
- 5. एडब्ल्यूएस जावास्क्रिप्ट एसडीके
- 6. सेट एडब्ल्यूएस जावा एसडीके
- 7. PHP एसडीके
- 8. एडब्ल्यूएस PHP एसडीके: निर्धारित एसआरएल फ़ाइल सेट आकार निर्धारित यूआरएल
- 9. एडब्ल्यूएस S3 जावा एसडीके - प्रवेश
- 10. डायनेमो डीबीएम्पर जावा एडब्ल्यूएस एसडीके
- 11. एडब्ल्यूएस एपीआई गेटवे जावास्क्रिप्ट एसडीके
- 12. अमेज़ॅन एडब्ल्यूएस आईओएस एसडीके: फ़ोल्डर
- 13. पीएचपी एडब्ल्यूएस एसडीके फेंक अज्ञात त्रुटि
- 14. PHP एसडीके
- 15. जेएस एसडीके बनाम PHP एसडीके
- 16. एडब्ल्यूएस आईओएस एसडीके कॉग्निटो डेवलपर प्रमाणीकरण (स्विफ्ट)
- 17. एडब्ल्यूएस जावास्क्रिप्ट एसडीके एसईएस SendMail अवैध पता
- 18. जेटएस 3 टी बनाम एडब्ल्यूएस जावा एसडीके
- 19. नोडजेस एडब्ल्यूएस एसडीके एस 3 जेनरेटेड यूआरएल
- 20. getUser() फेसबुक एसडीके PHP
- 21. php फेसबुक एसडीके वर्डप्रेस
- 22. PHP फायरबेस डीबी को PHP एसडीके
- 23. अमेज़ॅन एस 3 एसडीके PHP doObjectExist() समस्याएं
- 24. अमेज़ॅन एडब्ल्यूएस PHP एसडीके वाले क्षेत्रों के बीच एस 3 ऑब्जेक्ट्स की प्रतिलिपि कैसे करें?
- 25. अमेज़ॅन में एस 3 क्लाइंट के लिए उचित एंडपॉइंट सेट करें एडब्ल्यूएस PHP एसडीके
- 26. PHP के लिए एडब्ल्यूएस एस 3 एसडीके, एक बाल्टी के अंदर फ़ोल्डरों को अपलोड करना
- 27. केवल रूट वस्तुओं (फ़ोल्डर्स) एस 3 में की सूची प्राप्त - एडब्ल्यूएस एसडीके v3 php
- 28. नए PHP एसडीके (3.X.X)
- 29. फेसबुक जावास्क्रिप्ट बनाम PHP एसडीके
- 30. फेसबुक PHP एसडीके 4.0 लॉगिन
क्या आप कृपया मेरी प्रतिक्रिया को "स्वीकृत" के रूप में चिह्नित कर सकते हैं अगर इससे आपकी मदद हो। – Scuzzy