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.
| 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 |