symbian 从文件读出对应mime类型,不需要手动判断类型
来源:互联网 发布:数控铣削编程简单图案 编辑:程序博客网 时间:2024/03/29 01:48
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.
==============================================================================
也可以用GetMimeTypeFileL代替
TBuf8<255> ImageType;
CImageDecoder::GetMimeTypeFileL(CCoeEnv::Static()->FsSession(),aFileName, ImageType);
==============================================================================
TDataRecognitionResult recResult;RFile file;
file.Open(CEikonEnv::Static()->FsSession(),aCoverFullPath,EFileRead);
iALSession.RecognizeData(file,recResult);//iALSession is RApaLsSession
file.Close();
TPtrC8 ptr(recResult.iDataType.Des8());
- symbian 从文件读出对应mime类型,不需要手动判断类型
- 常用的文件对应的MIME类型
- 常用的文件对应的MIME类型
- 常用的文件对应的MIME类型
- 常用的文件对应MIME类型
- MIME类型对应
- java根据文件后缀名获得对应的MIME类型
- 什么是文件 MIME 类型?
- 文件mime类型
- 文件MIME type类型
- 各种文件类型对应的MIME类型
- 一些文件的MIME类型
- java获取文件MIME类型
- 常见文件的mime类型
- 常用的 文件 MIME类型
- Mime类型
- MIME类型
- MIME类型
- insertAdjacentHTML方法示例
- 十件你生命中无能为力的事(据说看了你会放开很多)
- POJ_1011_Sticks
- Android内核的根文件系统
- 一夜间,成了文盲
- symbian 从文件读出对应mime类型,不需要手动判断类型
- File Header文件头,通过检查文件头来判断文件类型
- SVN USAGE
- C++中const用法总结【转】
- 设备节点的动态建立
- 你的成功在于你每天养成的习惯
- 谷歌:Android手机跟风iPhone是"篡改历史"
- C &C++面试集
- linux内核ioctl函数学习