Delphi 10.2.3 新增的TMimeTypes類


Delphi 10.2.3 新增的TMimeTypes類,利用url中的文件擴展名,可以輕松得到url需要返回的HTTP content-type類型,可以參考這里,現在查看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應返回內容的類型(HTTP content-type):

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,支持文件的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM