ok that changes it a bit.
if the state is already text, then the reason you “see” something with the URL and not with base64 is just because a URL is readable text, while base64 is a massive encoded string. bubble won’t visually render anything from that unless you explicitly display the text somewhere.
so when you set the URL, you recognize it because it looks like a normal link. when you set base64, it probably is being stored, it just doesn’t show as anything visual unless you bind that state to a text element.
the real test is this: drop a text element on the page and set it to that custom state after choosing base64. if you see a very long string starting with data:image/...;base64, then it’s working.
if it’s empty, then the camera action isn’t returning base64 at all in the mobile beta (which can happen — the beta still has a few quirks).
so the key question is: when you inspect the state in debug, is it actually empty, or just not visually displaying?
Ae you sure?
yeah and here’s why I’m saying that.
A url is short, readable text. So when you store it in a text state and look at it in the debugger, you immediately recognize it and think “it worked.”
A base64 image isn’t visual. It’s just a massive encoded string. If Bubble is storing it, you won’t see anything happen unless you bind that state to a text element or inspect it in debug. It won’t magically render like an image unless you explicitly tell an image element to use that base64 string as its source.
So the real question isn’t “does it display?” it’s “is the state empty or not?”
If you check the debugger right after the camera step and the state is blank, then the mobile beta isn’t returning the base64 at all (which is possible that feature has been inconsistent).
If the state contains a long string starting with data:image/...;base64, then it is working it’s just not being rendere