Amazon S3 ไม่ได้ส่งหัวข้อประเภทเนื้อหา


10

ฉันมีแอปพลิเคชั่นที่ดาวน์โหลดเนื้อหาจากแหล่งต่าง ๆ ขึ้นอยู่กับส่วนหัว "ประเภทเนื้อหา" ที่ตั้งไว้บนภาพ เว็บเซิร์ฟเวอร์ส่วนใหญ่ทำสิ่งนี้อย่างถูกต้อง แต่ปรากฏว่าเซิร์ฟเวอร์ Amazon S3 ไม่ได้ตั้งค่า Content-Type

ฉันถือว่าเซิร์ฟเวอร์ของ Amazon ได้รับการกำหนดค่าอย่างถูกต้องแล้วอาจมีปัญหาอะไรบ้าง ภาพเหล่านี้อัพโหลดไม่ถูกต้องหรือไม่? หรือฉันไม่ควรจะพึ่งพาการตั้งค่าประเภทเนื้อหา?

ตัวอย่าง

ขอบคุณ


ฉันเชื่อว่าคุณสามารถตั้งค่าประเภทเนื้อหาเมื่ออัปโหลดไฟล์ไปยัง Amazon S3 ฉันไม่รู้ว่ามันทำอะไรได้บ้างกับส่วนหัวประเภทเนื้อหาเริ่มต้น และสิ่งนี้เห็นได้ชัดว่าไม่ช่วยคุณเมื่อไม่ใช่ไฟล์ของคุณ
WheresAlice

ฉันเห็นแล้ว แต่ไม่มีบัญชีฉันไม่สามารถลองได้ การรู้คำตอบนั้นไม่สามารถแก้ไขปัญหาของฉันได้ แต่อาจแนะนำว่าฉันหลีกเลี่ยงการพึ่งพาประเภทเนื้อหา

คำตอบ:


7

ไฟล์ที่อัปโหลดไปยัง S3 ต้องแจ้งให้ทราบถึงส่วนหัวของประเภทเนื้อหา ไม่มีนิยามประเภทเนื้อหาเริ่มต้นเช่นเดียวกับที่คุณสามารถทำได้บนเว็บเซิร์ฟเวอร์เนื้อหา "ปกติ" (ซึ่งไม่น่าจะเป็นความคิดที่เลว!) ต่อโฟลเดอร์


1

เมื่ออัปโหลดวัตถุไปยัง S3 คุณมีตัวเลือกในการตั้งค่าประเภท MIME ที่จะส่งคืนในส่วนหัวของประเภทเนื้อหาให้กับลูกค้า S3 จะไม่เพิ่มส่วนหัวนี้ด้วยตัวเองดังนั้นหากผู้ใช้ไม่ได้ตั้งค่านั้นจะไม่มีการส่งคืนส่วนหัวของประเภทเนื้อหา

เซิร์ฟเวอร์ HTTP ไม่จำเป็นต้องมีส่วนหัวของประเภทเนื้อหาดังนั้นฉันจะแนะนำกลไกทางเลือก บางทีคุณสามารถดู URL และคาดเดาจากส่วนขยายของไฟล์ได้หรือไม่ มันเป็นบิตของการแฮ็ก แต่มันจะทำงานในตัวอย่างที่คุณให้ไว้อย่างน้อย


1

คุณต้องตั้งค่านี้

บนคอนโซลการจัดการ aws หากคุณเรียกดูไฟล์ที่เป็นปัญหาคุณสามารถคลิกที่ "คุณสมบัติ" จากนั้นที่ด้านล่างของหน้าจอบน Metadata หากตั้งค่าชนิดเนื้อหาหลักให้เปลี่ยนเป็นสิ่งที่คุณต้องการมิฉะนั้นเพิ่มคีย์ใหม่เลือกประเภทเนื้อหาและตั้งเป็นค่าที่เหมาะสม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.