Community: Wiki

你在这里: You Are Here: Olet tässä: Vous êtes ici: Sie befinden sich hier: Tu sei qui: 現在のページ: Você está aqui: Вы здесь: Usted está aquí:
This page was last modified 12:56, 8 December 2007.

Recognizing file types

From Forum Nokia Wiki

The following function shows how to determine file types.

void GetFileType(const TDesC& aFileName, TDes& aFileType)
  {
  TEntry FileEntry;
 
  if (CCoeEnv::Static()->FsSession().Entry(aFileName,FileEntry) == KErrNone)
    {
    TBuf8<255> FileBuffer;
 
    if(!FileEntry.IsDir())
      {
      TInt FileSize = FileEntry.iSize;
 
      if(FileSize > 255)
        {
        FileSize = 255;
        }
 
      if(CCoeEnv::Static()->FsSession().ReadFileSection
              (aFileName,0,FileBuffer,FileSize) == KErrNone)
        {
        RApaLsSession RSession;
        if(RSession.Connect() == KErrNone)
          {	
          TDataRecognitionResult FileDataType;
 
          RSession.RecognizeData(aFileName,FileBuffer,*&FileDataType);
          if(FileDataType.iConfidence > aResult.iConfidence)
            {
            aFileType.Copy(FileDataType.iDataType.Des());
            }
 
          RSession.Close();
          }
        }
      }
    }
  }

If you don't have access to the file itself (for example because of the restrictions posed by the platform security) you can use this function:

void GetFileType(RFile& aFile, TDes& aFileType)
  {
  TInt FileSize(0);
  TFileName RFileName;
 
  if(aFile.Size(FileSize)== KErrNone && FullName(RFileName) == KErrNone)
    {
    TBuf8<255> FileBuffer;
 
    if(FileSize > 255)
      {
      FileSize = 255;
      }
 
    if(aFile.Read(FileBuffer,FileSize) == KErrNone)
      {
      RApaLsSession RSession;
      if(RSession.Connect() == KErrNone)
        {	
        TDataRecognitionResult FileDataType;
 
        RSession.RecognizeData(RFileName,FileBuffer,*&FileDataType);
        if(FileDataType.iConfidence > aResult.iConfidence)
          {
          aFileType.Copy(FileDataType.iDataType.Des());
          }
 
        RSession.Close();
        }
      }
    }
  }

In both cases the type of the file is returned in the aFileName argument variable as standard MIME type (for example image/gif for gif images etc) and in case the file is not recognized the aFileName will not be modified.

Related Discussions

Thread Thread Starter Forum Replies Last Post
Strange MIME-Type netlineit General Messaging 0 2003-08-01 12:21
DRM FL & MIDP OTA download vinny_g Digital Rights Management & Content Downloading 0 2007-06-06 08:51
File Type pornima General Symbian C++ 1 2008-09-30 11:16
font types and sizes on Nokia Series 40s stevo999999 Mobile Java General 1 2006-05-17 02:34
Problem in downloading my application iworktech_kiran Mobile Java General 5 2008-10-08 18:13

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditFurlTechnocratiMagnoliaTwitter  Share this page Share this page Invite a friend Invite a friend
E-mail Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us Regional websites: Chinese Japanese © 2008 Nokia 
RDF Facets: qfnZtypeQUqfnTypeZCommunityContentQ qfnZtypeQUqfnTypeZWebpageQ qfnZtypeQUqfnTypeZWikiContentQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX