delphi GetMIMEType 查询文件MIME类型函数


本文整理自网络,侵删。

 

uses Registry;

function GetMIMEType(FileName: String): String;

var
reg: TRegistry;
ext: String;
list: TStringList;
begin
Result := '';
ext := LowerCase(ExtractFileExt(Filename));
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CLASSES_ROOT;
if reg.OpenKeyReadOnly('\' + ext) then begin
Result := reg.ReadString('Content Type');
reg.CloseKey;
end;
if Result = '' then begin
if reg.OpenKeyReadOnly('\MIME\Database\Content Type') then
begin
list := TStringList.Create;
try
reg.GetKeyNames(list);
for i := 0 to list.Count - 1 do begin
if Reg.OpenKeyReadOnly('\MIME\Database\Content
Type\' + list[i]) then begin
if AnsiSameText(ext,
reg.ReadString('Extension')) then begin
Result := list[i];
Break;
end;
end;
end;
finally
list.Free;
end;
reg.CloseKey;
end;
end;
finally
reg.Free;
end;
if Result = '' then Result := 'application/octet-stream';
end;

相关阅读 >>

Delphi的tfilestream 内存流

Delphi 安卓开发 ioutils文件说明

Delphi 几个实用的html解析函数

Delphi下载指定网址(url)的文件,带进度条显示

Delphi下对dbf文件进行物理删除

Delphi 消息实现窗口最小化,最大化,关闭(Delphi)

Delphi 加载大文件显示进度条

Delphi xe2 - 实现主窗口在任务栏上不显示

Delphi用多媒体库 bass.dll 播放 mp3 - 打开、播放、暂停、停止

Delphi的webbrowser改造,对网页中alter等对话框的改造方法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...