Delphi 10.2.3 新增的TMimeTypes类

Posted kinglandsoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 10.2.3 新增的TMimeTypes类相关的知识,希望对你有一定的参考价值。

Delphi 10.2.3 新增的TMimeTypes类,利用url中的文件扩展名,可以轻松得到url需要返回的类型,查看AddDefTypes方法,几乎涵盖了所有的文件类型。为了使用TMimeTypes,我们不必建立他的实例,直接使用TMimeTypes.Default属性,这个属性是个类属性,可以直接使用并返回TMimeTypes的实例。

class property Default: TMimeTypes read GetDefault;

这是GetDefault的实现代码,通过代码,我们看到,返回一个唯一实例。

class function TMimeTypes.GetDefault: TMimeTypes;
var
  LMime: TMimeTypes;
begin
  if FDefault = nil then
  begin
    TMonitor.Enter(FLock);
    try
      if FDefault = nil then
      begin
        LMime := TMimeTypes.Create;
        LMime.AddDefTypes;
        LMime.AddOSTypes;
        FDefault := LMime;
      end;
    finally
      TMonitor.Exit(FLock);
    end;
  end;
  Result := FDefault;
end;

下面,看看一个扩展名,对于一个url应返回内容的类型:

procedure TForm10.Button1Click(Sender: TObject);
var
  t:string;
  kind:TmimeTypes.TKind;
begin
  TMimeTypes.Default.GetExtInfo(‘htm‘,t,kind);
end;

运行后得到的结果:

技术分享图片

有了TMimeTypes类,再也不用记该返回什么类型的url请求了!

此外,在这个System.Net.Mime单元中,还提供了其他重要意义的类,如TMultipartFormData,用来处理htm中的Form,支持文件的。







以上是关于Delphi 10.2.3 新增的TMimeTypes类的主要内容,如果未能解决你的问题,请参考以下文章

delphi TMS FlexCel Sheet工作表新增复制

Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到 变问号?的处理

Delphi 2009 新增单元 Character[1]: ToUpperToLower - 字符与字符串的大小写转换

Delphi 10.3.1 - Android 服务挂在 System.InitUnits

Delphi RAD Studio 10.2.3中的新功能:FireMonkey用户界面模板

delphi中ADODataset.Append,某字段数据录入有错,我需要放弃本次新增的这条数据该怎么做?