cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Helper I
Helper I

Add a function to read data from the blob URL for pen input control in PowerApps

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)

34 REPLIES 34

@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: 

2018-10-18_18-11-40.png 

How is this accessed?


Thanks!

Anonymous
Not applicable

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:

 

https://www.youtube.com/watch?v=mp-8B1fLrqs

Anonymous
Not applicable

@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

Here is a video that shows how to do what I posted earlier...

 

https://youtu.be/kQVYid1p_vA

Helpful resources

Announcements
New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

Power Apps Community Call

Power Apps Community Call: February

Did you miss the call? Check out the Power Apps Community Call here.

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

Top Solution Authors
Top Kudoed Authors
Users online (42,423)