Hi @LukeRedd ,
Here is something you can try. It's from an old flow I had made back in 2021.
We need to get following details about the image
- Content type: tells the browser what kind of file or content is being used so it can handle it correctly.
- Content: the content of the image in base64 format
Then embed the image into HTML using the <img> tag:

For the newsletter, we you could apply some styling:

The styling width:100%; height:100% and object-fit:cover is used to ensure that the image fills its container while maintaining its aspect ratio and cropping if necessary:

Send an HTTP request to SharePoint


Compose HostName:
concat('https://', uriHost(outputs('Compose_BannerImage_URL')))
Compose URIPathAndQuery
uriPathAndQuery(outputs('Compose_BannerImage_URL'))
Uri for Send an HTTP request to SharePoint
substring(outputs('Compose_URIPathAndQuery'),1)
Get image content-type and content

Compose Body:
outputs('Send_an_HTTP_request_to_SharePoint')?['body']
Compose content-type:
outputs('Send_an_HTTP_request_to_SharePoint')?['body']['$content-type']
Compose content
outputs('Send_an_HTTP_request_to_SharePoint')?['body']['$content']
Prepare the HTML img Tag

data:[outputs('Compose_content-type')];base64,[outputs('Compose_content')]
Example of the news body HTML showing where the image is embedded:
<img alt="" width="100%" height="100%" src="data:[content-type];base64,[content]" style="object-fit:cover;">

If the HTTP request to SharePoint fails
Remember to handle the situation where the HTTP request to SharePoint could fail, for exampe:

Hope this helps.
Ellis
____________________________________
If I have answered your question, please mark the post as ☑️ Solved.
If you like my response, please give it a Thumbs Up.
My Blog Site