var
fileMgt: Codeunit "File Management";
httpClient: HttpClient;
httpContent: HttpContent;
jsonBody: text;
httpResponse: HttpResponseMessage;
httpHeader: HttpHeaders;
fileName: Text;
fileExt: Text;
InStr: InStream;
OutStr: OutStream;
base64Convert: Codeunit "Base64 Convert";
begin
Xmlport.Run(50128, false, false);
UploadIntoStream('Select a file to upload', '', 'All files (*.*)|*.*', fileName, InStr);
fileExt := fileMgt.GetExtension(fileName);
jsonBody := ' {"base64":"' + base64Convert.ToBase64(InStr) +
'","fileName":"' + fileName + '.' + fileExt +
'","fileType":"' + fileMgt.GetFileNameMimeType(fileName) + '", "fileExt":"' + fileMgt.GetExtension(fileName) +
'"}';
httpContent.WriteFrom(jsonBody);
httpContent.GetHeaders(httpHeader);
httpHeader.Remove('Content-Type');
httpHeader.Add('Content-Type', 'application/json');
httpClient.Post('MyAzureFunctionUrl', httpContent, httpResponse);
//Here we should read the response to retrieve the URI
message('File uploaded.');
end;