Just FYI to everybody. But my objective when I asked this question was to compose desclaimer captive portal HTML with a customer's logo for FAP's guest wifi SSID originally copied from Meraki MR guestWiFi SSID, which I just completed today.
There are many gotchas to accomplish all of these via CLI so that we can copy and paste to multiple FGTs. Some keys were below:
1. In the html, you can show the image only via "background" or "background-image" property in CSS on an object. You can't use <img src="image_file_source"> to load it as an object in foreground, unlike Meraki.
2. In CLI under "config sys replacemsg-group" where you set your own htmls for each type of page, you need to escape special characters like ', ", etc. with '\'. Also '?' in a string doesn't show up in the final result unless you use ?.
3. You can upload/configure only 2 additional images because the limit is 8 and already 6 images by default.
I had to figure these out without help from TAC because they say "we're network engineers not html coders". I told them "I'm an network engineer too".