How to get mimetype of file lazarus / 38-Networking and Web Programming ---------------------------------------------------------------------- heejit · 2018-03-19 14:42 I am sending binary file as follow but not able to get the right mime type is there any unit/function to get the mimetype from the file name Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TApiModule.do_dwnd(Sender: TObject; ARequest: TRequest; AResponse: TResponse; var Handled: boolean);var  fname: string;begin  try    fname := DATA_DIR + PathDelim + ARequest.GetNextPathInfo;    AResponse.ContentStream := TMemoryStream.Create;    (AResponse.ContentStream as TMemoryStream).LoadfromFile(fname);    AResponse.ContentLength := AResponse.ContentStream.Size;    AResponse.ContentType := 'application/octet-stream';    AResponse.SendContent;  finally    AResponse.ContentStream.Free;  end;  Handled := True;end; ---------------------------------------------------------------------- Leledumbo · 2018-03-19 15:23 https://github.com/graemeg/freepascal/blob/master/packages/fcl- base/src/fpmimetypes.pp Note that you must supply the mime.types file yourself (through MimeTypes.LoadFromFile), there's no default. ---------------------------------------------------------------------- heejit · 2018-03-19 16:22 I have the file how to use the fpmimetypes ---------------------------------------------------------------------- heejit · 2018-03-19 16:37 Working now Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i   self.m_mime := TFPMimeTypes.Create(self);  self.m_mime.LoadFromFile('/etc/mime.types');  file_Ext := ExtractFileExt(fname); AResponse.ContentType   := self.m_mime.GetMimeType(file_ext); ---------------------------------------------------------------------- Leledumbo · 2018-03-19 19:07 Quote from: jshah on March 19, 2018, 05:37:28 pmWorking now Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i   self.m_mime := TFPMimeTypes.Create(self);  self.m_mime.LoadFromFile('/etc/mime.types');  file_Ext := ExtractFileExt(fname); AResponse.ContentType   := self.m_mime.GetMimeType(file_ext); There's already MimeTypes function that returns a singleton instance (I even referenced it if you carefully read my reply). ---------------------------------------------------------------------- heejit · 2018-03-19 23:48 Updated this is better Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i MimeTypes.LoadFromFile('/etc/mime.types');file_Ext := ExtractFileExt(fname);AResponse.ContentType   := MimeTypes.GetMimeType(file_ext);