So... I have looked at every thread I can find on the Add Picture control and many others relating to media capture in powerapps, and am at a loss. I apologise if this has a slight tone of a rant but I have been reading various threads for over two hours now and am still where I started...
When an image is uploaded to the powerapp using the Add Image control it is cached in a local blob, referenced with a URI specific to the current running instance of the powerapp.
E.g.
appres://blobmanager/6ad465bf11ed406e841113f483d25d5d/2
After the app instance is closed and re-opened the cache is clear and the URI is irrelevant.
This means if you want to do anything with the image you have to save it to your external datasource.
How?
This URI is only in the scope of the running app and is not accessible from anywhere but inside the current instance of the app.
If I pass this URI to Flow to save, it is nothing more than a text string with no context so has no acces to the referenced blob.
If I save it to sharepoint as a list item it is again a text sring with no context and has no access to the referenced blob.
I hope I am missing something obvious and there is a function that will return the content of the blob instead of the URI but every thread I look at seems to end up with someone mentioning the "appres://blobmanager/" style URI, then radio silence and no answers.
I have had a look at the documentation for the Add Image control and it has a nice little example of loading pictires into a gallery and how to display them but only one line on how to save them:
- "Use the SaveData function to save the images locally or the Patch function to update a data source."
Both of these functions save the URI as a text string that becomes irrelevent when the app is closed.
Does anyone know how to get the image content for saving as a Base64 encoded string or passing to a flow to save as a file somewhere?