โดยพื้นฐานแล้วฉันมีโค้ดนี้ซึ่งอัปโหลดจาวาสคริปต์และเนื้อหาอื่น ๆ ไปยัง Rackspace โดยใช้ Jclouds:
SwiftObject obj = cloudFilesClient.newSwiftObject();
obj.getInfo().setName(name);
obj.getInfo().setContentType(contentType);
obj.setPayload(payloadFile);
cloudFilesClient.putObject(container, obj);
ฉันสังเกตเห็นว่า Chrome บ่นเกี่ยวกับสคริปต์ที่ถูกถ่ายโอนด้วย text/plain
ดังนั้นจึงเตรียมที่จะตรวจสอบ curl -I
รายงานแทน: Content-Type: application/unknown
ฉันใช้ Google มากมายและพยายามค้นหาเบาะแสบางอย่าง และฉันได้ลองแล้ว:
- ไม่ได้ตั้งค่าประเภทเนื้อหาเลย
- การตั้งค่าสตริงว่าง (พบข่าวลือเกี่ยวกับเรื่องนั้นที่ไหนสักแห่ง)
- การตั้งค่าเป็น
application/javascript
(ถูกต้อง) - การตั้งค่าเป็น
text/javascript
(ผิด แต่พบบ่อย) obj.getAllHeaders().put("Content-Type", contentType);
เมื่อก่อนเราเคยอัปโหลดด้วย HTTP พื้นฐาน วิธีนี้ใช้งานได้โดยไม่ต้องตั้งค่าใดๆ ด้วยตนเองเลย