nsISupports
Last changed in Gecko 1.9 (Firefox 3)NS_CONTENT_SNIFFER_CATEGORY
.
ACString getMIMETypeFromContent(in nsIRequest aRequest, [const,array,size_is(aLength)] in octet aData, in unsigned long aLength); |
Given a chunk of data, determines a MIME type. Information from the given request may be used in order to make a better decision.
ACString getMIMETypeFromContent( in nsIRequest aRequest, [const,array,size_is(aLength)] in octet aData, in unsigned long aLength );
aRequest
null
.aData
aLength
The content type.
How to read content from aData.
let charset = "ISO-8859-1";
try {
// this pref has been removed, see Bug 910192
charset = Services.prefs.getComplexValue("intl.charset.default",
Ci.nsIPrefLocalizedString).data;
} catch (e) {
}
let conv = Cc["@mozilla.org/intl/scriptableunicodeconverter"]
.createInstance(Ci.nsIScriptableUnicodeConverter);
conv.charset = charset;
try {
let str = conv.convertFromByteArray(aData, aLength);
if (str.substring(0, 5) == "%PDF-")
return "application/pdf"; // we detected a pdf file
} catch (e) {
// try to get information from aRequest
}