2008-10-14 28 views
9

Một số tập tin được tải lên với một kiểu MIME báo cáo:phần chênh lệch giữa là gì: image/x-Citrix-pjpeg và hình ảnh/pjpeg

image/x-citrix-pjpeg 

Họ là file jpeg hợp lệ và tôi chấp nhận chúng như vậy.

Tôi đã tự hỏi: tại sao loại MIME lại khác?
Có sự khác biệt nào trong định dạng không? hoặc là mimetype này được phát minh bởi một số bóng đèn tại citrix không có lý do rõ ràng?

Trả lời

12

Cập nhật:
Ok, tôi đã tìm kiếm một số chi tiết và thử nghiệm về vấn đề này, và nó quay ra tất cả họ đang nói dối về MIME-type (không bao giờ tin tưởng bất kỳ thông tin gửi của khách hàng, tôi biết).
Tôi đã kiểm tra một loạt các tập tin với mã hóa khác nhau (tạo ra với libjpeg) loại

Official MIME cho file jpeg: image/jpeg

Nhưng một số ứng dụng (đặc biệt là MS Internet tìm hiểu nhưng cũng Yahoo! mail) gửi tệp jpeg dưới dạng image/pjpeg

Tôi nghĩ rằng tôi biết rằng pjpeg đứng cho 'tiến bộ' jpeg. Nó chỉ ra rằng mã hóa lũy tiến/tiêu chuẩn không có gì để làm với nó.

MS Internet explorer gửi tất cả tệp jpeg dưới dạng pjpeg bất kể nội dung của tệp là gì.

Tương tự đối với citrix: tất cả tệp jpeg gửi từ ứng dụng khách citrix được báo cáo là loại image/x-citrix-pjpeg MIME.

Bản thân các tệp đó không bị ảnh hưởng (giống hệt trước và sau khi tải lên). Vì vậy, nó chỉ ra rằng sự khác biệt trong loại MIME chỉ là một dấu hiệu cho thấy phần mềm được sử dụng để gửi các tập tin?

Tại sao mọi người lại phát minh ra loại MIME mới nếu không có sự khác biệt về nội dung tệp?

5

image/x-citrix-pjpeg có vẻ là kiểu MIME gửi bởi hình ảnh đó được xuất khẩu từ một phiên Citrix.

Tôi chưa từng thấy sự khác biệt về định dạng giữa chúng và JPEG thông thường - hầu hết các tiện ích chuyển đổi hình ảnh sẽ xử lý chúng giống như pjpeg thông thường, khi quy tắc loại mime thích hợp được thêm vào. Có thể là trong phiên Citrix có một số phép thuật bên trong được thực hiện khi quản lý jpegs dẫn họ tạo ra loại mime này, mà họ để lại trên tập tin khi nó được xuất từ ​​hệ thống của họ, nhưng đó chỉ là phỏng đoán của tôi. Như tôi đã nói, tôi đã không nhận thấy bất kỳ sự khác biệt định dạng thực tế nào từ các tệp định kỳ ở định dạng này mà chúng tôi nhận được.

+0

Vì vậy, có thể là họ thay đổi loại MIME để đánh dấu nội bộ nó vì một số lý do không được tiết lộ. – Jacco

+0

Đó là suy nghĩ của tôi, có, có lẽ một số loại xử lý hình ảnh đặc biệt trong nội bộ đánh dấu hình ảnh ở định dạng có thể sử dụng cho hệ thống của họ. Và việc xuất tệp chỉ không bận tâm để xóa dấu. Không có nhiều tài liệu trên đó! – ConroyP

+0

đoán hoang dã của tôi sẽ là trong bất kỳ phiên dịch vụ đầu cuối tùy thuộc vào cài đặt của bạn, bạn có thể mất một số màu sắc (nói giảm độ sâu từ 24bit đến 16bit). Vì vậy, họ (Citrix, MS vv) CÓ THỂ đã dành một khả năng nói một kết thúc khác mà bạn đang làm việc với một khách hàng trong một TS sesssion - bạn có thể chọn để tạo ra hình ảnh của bạn khác nhau để làm cho an toàn hơn với cơ hội cao hơn để bảo tồn màu sắc. Nhưng đây chỉ là phỏng đoán của tôi - đừng coi nó quá nghiêm túc. – DmitryK

2

Vì một số lý do, khi mọi người đang chạy Internet Explorer qua Citrix, nó thay đổi loại mime cho các tệp GIF và JPG.

JPG: image/x-citrix-pjpeg 
GIF: image/x-citrix-gif 

Dựa trên thử nghiệm của tôi, tệp PNG không bị ảnh hưởng. Tôi không biết đây có phải là sự cố Internet Explorer hay Citrix không.

2

Nó là để làm với một tính năng của Citrix gọi là SpeedBrowse, chặn jpegs và gifs trong các trang web trên [Citrix] phía máy chủ, để nó có thể gửi cho họ toàn bộ thông qua ICA (Citrix remoting protocol) hiệu quả hơn là sàng lọc màn hình. Như một áp phích trước đó được đề xuất, điều này được thực hiện bằng cách đánh dấu các hình ảnh với một loại mime thay đổi.

IIRC nó móc FindMimeFromData trong IE để thay đổi loại mime khi đang di chuyển, nhưng điều này đang được áp dụng cho các tệp tải lên cũng như các tệp đã tải xuống - chắc chắn là một lỗi.

1

Từ những gì tôi nhớ lại định dạng JPG lũy tiến là định dạng cho phép hình ảnh được hiển thị với độ phân giải cao dần dần khi tải xuống tệp được tiến hành. Tôi không hoàn toàn nhận thức được chi tiết, nhưng nếu bạn nhớ lại trong những ngày quay số, một số tệp sẽ hiển thị mờ, sau đó tốt hơn và cuối cùng hoàn thành khi chúng được tải xuống. Để làm việc này, dữ liệu cần phải được gửi theo thứ tự khác với một JPEG thường được gửi đi.

Dữ liệu thực tế, khi bạn xem, giống hệt với dữ liệu được gửi theo thứ tự khác. Bản thân mã hóa JPEG có thể rất tốt khi nhóm các pixel khác nhau, tôi quên.

Các vấn đề liên quan