Your Search Results


    Content sniffer interface. Components implementing this interface can determine a MIME type from a chunk of bytes.
    Inherits from: nsISupports Last changed in Gecko 1.9 (Firefox 3)
    To implement this interface use net-content-sniffers category. See netwerk/build/nsNetCID.h about  NS_CONTENT_SNIFFER_CATEGORY.

    Method overview

    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.

    Note: Implementations should consider the request read-only. Especially, they should not attempt to set the content type property that subclasses of nsIRequest might offer.

    ACString getMIMETypeFromContent(
      in nsIRequest aRequest,
      [const,array,size_is(aLength)] in octet aData,
      in unsigned long aLength
    The request where this data came from. May be null.
    Data to check.
    Length of the data.
    Return value

    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",
        } catch (e) {
        let conv = Cc[""]
        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

    See also

    Document Tags and Contributors

    Contributors to this page: Sheppy, fscholz, trevorh, Ben Karel, def00111
    Last updated by: def00111,