Amazon S3 không gửi tiêu đề Kiểu nội dung


10

Tôi có một ứng dụng tải nội dung từ nhiều nguồn khác nhau. Nó dựa vào tiêu đề "Kiểu nội dung" được đặt trên hình ảnh. Phần lớn các máy chủ web thực hiện việc này một cách chính xác nhưng có vẻ như máy chủ Amazon S3 không đặt Loại nội dung.

Tôi cho rằng các máy chủ của Amazon được cấu hình chính xác, vậy vấn đề có thể là gì? Là những hình ảnh không được tải lên chính xác? Hoặc tôi không nên dựa vào loại nội dung đang được đặt?

Thí dụ

Cảm ơn


Tôi tin rằng bạn có thể đặt loại nội dung khi tải tệp lên Amazon S3. Tôi không biết những gì nó làm về tiêu đề loại nội dung mặc định. Và điều này rõ ràng không giúp bạn khi nó không phải là tập tin của bạn.
WheresAlice

Tôi đã thấy điều đó, nhưng không có tài khoản tôi không thể dùng thử. Biết câu trả lời sẽ không khắc phục được vấn đề của tôi nhưng điều đó có thể gợi ý rằng tôi làm việc xung quanh không dựa vào loại nội dung.

Câu trả lời:


7

Các tệp được tải lên S3 cần phải thông báo cho tiêu đề Kiểu nội dung. Không có định nghĩa kiểu nội dung mặc định giống như định nghĩa bạn có thể thực hiện trên máy chủ web nội dung "bình thường" (đó sẽ không phải là ý tưởng tồi!) Trên mỗi thư mục.


1

Khi tải các đối tượng lên S3, bạn có tùy chọn đặt loại MIME sẽ được trả về trong tiêu đề Kiểu nội dung cho khách hàng. S3 sẽ không tự thêm tiêu đề này vì vậy nếu người dùng chưa đặt giá trị đó thì sẽ không có tiêu đề Kiểu nội dung nào được trả về.

Máy chủ HTTP không bắt buộc phải cung cấp tiêu đề Kiểu nội dung, vì vậy tôi sẽ đề xuất cơ chế dự phòng. Có lẽ bạn có thể nhìn vào URL và đoán từ phần mở rộng của tệp? Đó là một chút hack, nhưng nó sẽ hoạt động trong ví dụ bạn cung cấp ít nhất.


1

Bạn cần phải thiết lập điều này.

Trên bảng điều khiển quản lý aws, nếu bạn duyệt đến tệp đang đề cập, bạn có thể nhấp vào "thuộc tính". Sau đó ở dưới cùng của màn hình trên Siêu dữ liệu. Nếu Loại Nội dung Khóa được đặt, hãy thay đổi thành Loại bạn muốn, nếu không, hãy thêm Khóa mới, chọn Loại Nội dung và đặt nó thành giá trị phù hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.