cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MarkSh
Level: Power Up

Re: Image does not display in Mobile apps & IE

Similar issue here.

 

Images are stored as attachments in a SharePoint online list.

 

  • Images Display Ok in: 
    • Chrome editor
    • Chrome Web App
  • Images do NOT display using anything else, including
    • iOS App (with the latest update)
    • IE editor
    • IE Web App
    • Edge editor
    • Edge Web App

 

I have tried all the common image file types.

MFischer
Level: Powered On

Re: Image does not display in Mobile apps & IE

I have been experiencing the same problem as stated by others. Images stored in a SP Document library do not render in iOS/Android/IE, etc. when using PowerApps to read the image.

 

What I have found is that the link {Link} attribute in PA only links to the SP link of the image. There is a deep link behind the image that appears to be the true link for displaying the image. When you look at the link of the image (in SP, display the image and read the actual image link), it points to a completely different server. In my case, it points to a host beginning with "https://eastus1-mediap.svc.ms". Embedded is a link that includes a token that seems to be generated by SP. In effect, this link becomes publicly accessible because the authentication is embedded and will render the image in all browsers and as far as I can tell, with a Launch command in PA.

 

The solution to the problem appears to be how to get PA access to the deep link of the image rather than just the SP link. This is a vexxing problem and really needs a Microsoft solution. Using PA, Flow and SP, I have been able to upload images to SP but cannot read them back into a gallery.

 

Unless I am overlooking something too obvious to see . . . 

MasterOffice365
Level: Powered On

Re: Image does not display in Mobile apps & IE

I shared a link to a blog I published in June 2018 wrt how to leverage the RenderListDataAsStream API to generate the access token you need within a Flow that you can call from PowerApps.

 

Whilst the blog is rather long Smiley Very Happy, the solution itself is extremely simple. I have since shared the source code for the demo apps I showcased in the blog as well as an export of the Flow I created for those 2 apps:

https://github.com/Office365Master/SharePoint-Images-Powered-Up-In-PowerApps

 

The sample Flow I shared can easily be modified to accept a URL to a specific library in SPO containing images you wish to render, and the output of the flow will be a URL with a "placeholder" which in your app you can then replace with the actual file name of any images you may want to render in that library.

MasterOffice365
Level: Powered On

Re: Image does not display in Mobile apps & IE

To add to that - the URL generated with the access should never be shared publicly.

 

Doing so would be the equivilant of sharing you Office 365 user name and password until that access token expires - 3 hours if I am not mistaken.

 

The Flow that generates the URL with the access token using the RenderListDataAsStream REST API should always be called in the context of the user such that each user only has access to the content in SharePoint they have been given permission to view. 

MFischer
Level: Powered On

Re: Image does not display in Mobile apps & IE

I greatly appreciate the GitHub files. They really help in creating the framework of the Flow and connecting with the PA Demo. Unfortunately I am struggling reconfiguring them to connect to my company SP sites and lists. I will continue to experiment with it over the coming days.

 

Given the complexities of this solution, I take big issue with Microsoft's positioning of PA being a "citizen developer" product. This solution is hardly what I would call "no code" or "citizen development". Reviewing the code, there is a lot of JSON, HTML and complex functions involved to make this work. Microsoft really needs to provide a simple, "no code" method of retrieving images from SP back into a PA gallery.

PIMMD
Level: Powered On

Re: Image does not display in Mobile apps & IE

Thanks for the github downloads. it was not until I got this that I was able to get my flow working with my own list(image library). The blog was good but missed out some key points with the token. It was also very handy to see the App and how you pulled the info into the gallery.

 

I think this works well and look forward to exploring it more. 

 

If I wanted to add more columns into my image library list, will these just come through as part of the flow or do I need to add them in? (very new at all this) Or just connect again using SP connection and consume the data (not the image that way) and link it to the flow image...

 

 

MasterOffice365
Level: Powered On

Re: Image does not display in Mobile apps & IE

Glad the GitHub files helped! The blog was rather long as it spoke to the story wrt what inspired the solution 😉. You are nonetheless quite correct in stating some key point were perhaps missing and that was at partly due to the fact that the RenderListDataAsStream API is not well documented, intentionally so. What the Flow did was in effect push the boundaries in terms of that API's intended purpose is for. There is alternate way of generating URLs for images that equally enable a lot more exploration for PowerApps App Makers, such as exposing additional metadata from the library the images are stored in and perhaps more importantly a recommended / best practice technique. A short teaser for my next blog LOL...
MFischer
Level: Powered On

Re: Image does not display in Mobile apps & IE

"missed out on some key points" . . . Would you care to share more details? I was unsuccessful in getting the code to work. Perhaps it is our company's configuration, my lack of understanding of code or more. I'm curious to know how many others were successful in deploying this approach in their respective environments. I genuinely appreciate the effort that goes into solving the problem and providing documented solutions. Unfortunately, for reasons unbeknownst to me, I still cannot get it to work. This is a capability that should be built into PowerApps. Microsoft keeps stating this is high on their priority list to solve yet no resolution appears to be on the horizon.
MasterOffice365
Level: Powered On

Re: Image does not display in Mobile apps & IE

I have posted a new blog on this topics as it pertains to rendering of images stored in SharePoint Online at least (i.e. not about uploads). 

https://masteroffice365.com/leveraging-graph-in-powerapps-and-flow/

 

What makes this technique now possible to consume within your PowerApps is v2.0 of the Graph APIs, currently in preview. I would stick my neck out here for all those that have been pleading for the type of functionality demostrated in the demo app I created and shared on this latest blog to in essence evolve into functionality provided native within PowerApps. I am certain with the release of the v2.0 of the Graph API so too will come many other new exciting native capabilities...

MFischer
Level: Powered On

Re: Image does not display in Mobile apps & IE

Nice article and explanation of v2 of the upcoming MS Graph API. I am not a developer but I think I understand just enough about API's to follow along. I was finally successful in implementing Chaks Corner Flow script to show images from a SharePoint Folder in the PowerApp I am working on. There are still a few enhancements I would like to see but I do not know if they are possible using the API.

  • Return a subset of images based on a parameter passed from PowerApps. Currently the Flow returns all images as large thumbnails from a specified folder. It would be nice to be able to return only those images of a specific category or classification.
  • Return additional values beyond what is specified in the Flow. I was successful in adding the additional fields to the Flow but can't seem to add them to the output.
  • Provide an ability to return higher resolution (or full resolution) images. This may not be possible since it looks like the thumbnail capability of the API is used.

For now, I believe I have a solution that works for my use case. I only have a few dozen images I'm dealing with at this point. It will be interesting to see if this is practically scalable to 100's of images.

 

I also am looking forward to your next blog where it looks like you will present v2 of your script. Smiley Happy

On behalf of this non-developer, I thank you for sharing the fruits of your labor and the time you take to create the documentation.