Можно использовать функцию API UrlCreateFromPath
.
Вот пример:
uses
ComObj, WinInet, ShLwApi;
function FilePathToURL(const FilePath: string): string;
var
BufferLen: DWORD;
begin
BufferLen := INTERNET_MAX_URL_LENGTH;
SetLength(Result, BufferLen);
OleCheck(UrlCreateFromPath(PChar(FilePath), PChar(Result), @BufferLen, 0));
SetLength(Result, BufferLen);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FilePathToURL('C:\Users\Documents\File.txt'));
end;