PowerApps Image Storage Issues
Background
Over the past year I’ve been doing a lot of work in PowerApps. I’ve tried some of the sample apps and created several apps based off SharePoint lists. Overall, I’ve been pretty impressed with how easy it was to set up and use.
A client came to me a couple months ago needing some help on a PowerApp that they had already started on. They had a pretty good start but were running into some issues and just didn’t have the time to devote to it to finish it up. One of the main areas they needed help with was handling images. A major requirement of the app was to allow the user to take and image and have that uploaded to SharePoint.
First Attempt
Going into this project, I already knew that saving images to SharePoint wasn’t officially supported yet. I found a great work-around from Paul Culmsee that seemed like just what I was needing (https://www.youtube.com/watch?v=mp-8B1fLrqs). His approach was to use OpenAPI and the HTTP Request trigger in Flow to handle uploading images from PowerApps to a SharePoint Document Library.
I worked through all of the configuration and ran a test in PowerApps Studio. My image was added to SharePoint and it showed up in my image gallery, Hooray! Being the good developer that I am, I then proceeded to test my app on the tablet. I load up the app, add my image…no errors that’s a good sign. But when I look at my gallery while I see the title and description of the image, the actual image is not there..bummer! I tried to troubleshoot and ask around for help but despite my efforts I could not find a fix for the images not displaying in mobile. Back to the drawing board….
Second Attempt
I started looking on the PowerApps Community Board and even Tweeted @MicrosoftPowerApps to see if they provide me with a way to save images to O365. I finally landed on this article from Microsoft which walks you through saving images to OneDrive using Excel:
https://docs.microsoft.com/en-us/powerapps/add-images-pictures-audio-video
I had some reservations about using this method for many reasons. Particularly, the fact that the data is not centrally stored in SharePoint and instead is tied to an individuals OneDrive account. I spoke with the client and at this point they just wanted it done so they gave me the go-ahead to give it a try.
I followed the steps in the article and began testing. I confirmed that the sample images from the Excel datasource were returning correctly on desktop and mobile, so far so good. When I go to add my image, I see that it is being added to the Excel file but the image isn’t saved anywhere. According to the article, it is supposed to create a sub folder automatically and place the images there. Where do I go from here?
Third Attempt
My thoughts at this point are to rule out any possible issues with the app itself and the clients environment. The app had a lot of screens and complexity so it’s possible that something could be interfering with the image piece. To rule out these possibilities, I created a separate blank PowerApp on my company’s O365 environment and uploaded the sample. The same result.
Here were the steps I followed:
- Downloaded FlooringEstimates Sample Excel file from the article
- Uploaded to my OneDrive for Business
- Created a Blank PowerApp
- Added an Image Gallery and connected it to the FlooringEstimates DataSource (works great, pictures show up on desktop and mobile)
- Added another screen with an Add Picture Element and Text Box
- Added Button to Submit uploaded picture to the FlooringEstimates DataSource. Used the Following Path Statement to Handle:
- Patch(FlooringEstimates,Defaults(FlooringEstimates),{Name:TextInput1.Text,ImageURL:UploadedImage1.Image})
- Checked OneDrive and there was no folder created to hold the image and no image added as the article stated. There was an entry in the Excel file but it had “blob” appended to it:
Final Thoughts
I still don’t have a viable solution for storing and viewing images in PowerApps. I would think that this is a must-have feature for a product like this; it certainly has been for many of our customers. I see that support for images in SharePoint is on the O365 roadmap, however, there is no indication on when this functionality will become available. Until then, what are you supposed to do if you need to store images?
Have you looked at using Blob Storage? Pratap Ladhani has a post on the PowerApps blog outlining how this solution would work: https://powerapps.microsoft.com/en-us/blog/custom-api-for-image-upload/
Thanks for the reply Chris. I saw Pratap's post on blog storage. Unfortunately, I'm working as a consultant on this for a client and I don't have access to create an Azure API app and I'm not even sure they have the licensing.