Currently there is no function in PowerApps and flow to read blob URL without involving server side code, for camera control dataUriToBinary() function is avalaible in Microsoft flow to convert Images to binary. However there is no such function available for blob URL (blob:xxxx-xxxx-xxxx-xxxx) in PowerApps or Microsoft flow, hence there is no way to store the pen input as image to data repoistory(SharePoint, OneDrive)
Solved! Go to Solution.
@paul_culmsee Paul it looks like the original method posted in your video does not work for the Pen Control and the Add Photo control. As of the writing of this, (August 8th) both of the controls now have a formatted string that uses some internal app URI
URI appres://blobmanager/[GUID]
Originally these were formatted with an azure based public URI that the dataUriToBinary could handle, now it fails saying that this is an incorrectly formatted URI. The release version for the app I'm testing with is latest: 3.18074.20.
Note: the camera control still generates the long base 64 encoded string that is consistent with how the format the file attachment has through postman . that control still works fine following your process.
I'm interested in this as well. I've hacked together a way to use the Attachment Control to open folders and attatch non-image files in my app, without a Sharepoint data source. (Notice the Excel icon even works).
I can't seem to Patch them anywhere because I can't access the content of the attachement. Its in the format:
appres://blobmanager/e8b73c9fb5c24f4095bbb536418e0ds/3:
How is this accessed?
Thanks!
I am also stuck because of this. There doesn't seem to be a way to pass the binary data. It just passes the URL. This is very frustrating. It would be nice if there was some official documentation on how to do this.
This problem is solved using a custom connector at the moment. I have a connector / flow combination that allows me to upload photos using both the controls you mention. See this video for detail:
@paul_culmsee - no your video does not cover the pen input control. Your video covers working with the upload photo and take photo controls which both properly provide the URL as a base64 encoded string which can be used. The Blob URL is in-accessible outside of the app and is not relevant to your video. Please stop saying it is.
Apologies if I am misinterpreted, but I can confirm that the technique does indeed work with the pen control as well.
Hi Paul, but base64ToBinary(triggermultipartbody(0)['$content']) doesn't work any more !
I can indeed confirm I cannot get this to work either.
The "appres://..." URI has no image information whatsoever, and there seems to be no documentation declaring how to retrieve the image information from this url.
The "appres://..." URI appears to be a "session-based" URI which is only of use while the PowerApp is live. Whenever the PowerApp is closed, the URI is of no use (so there's no point in saving this URI).
A couple of things...
1) Now the json function makes all of this easier... http://www.cleverworkarounds.com/2019/06/08/getting-pics-to-sharepoint-from-powerapps-is-getting-eas...
2) If you need to get content decoded before sending it to flow using the method above, and you have the problem where appres:// URL is there, just load the content into an image control and send the image control output in the Json function.
Eg take an attachment control in an editform. let's say you are only dealing with one attachment. Set your image propertly on an image control to First(Attachmentcontrol.attachments).value and hide it.
Now using Json() function send it to flow via json(imagecontrol.image)
In Flow you use json() expression to convert back to json and then you can use decodedatauri to get the file in binary form.
Paul
User | Count |
---|---|
183 | |
108 | |
88 | |
44 | |
43 |
User | Count |
---|---|
226 | |
108 | |
105 | |
68 | |
68 |