BackgroundOver 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 AttemptGoing 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 AttemptI 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:
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 AttemptMy 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:
- 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: