如何从Delphi中的绝对路径获取文件URL?

我正在寻找一个Delphi函数,它返回Windows路径中的文件URL路径.在Delphi中有内置的东西吗?

例:

Input
C:\Users\Documents\File.txt

Output
file:///C:/Users/Documents/File.txt

谢谢

最佳答案
您可以使用UrlCreateFromPath API函数.以下是示例:

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;

转载注明原文:如何从Delphi中的绝对路径获取文件URL? - 代码日志