I built an app that uses the camera control and OneDrive Excel shared spreadsheet to access and store images.
The spreadsheet (let's call it AppImages.xlsx) has the required "Image[image]" column that contains the path to the image.
The path typically looks something like this;
.\AppImages_images\f2bf3ec4692a732ea6038d9a8c1a91d4.jpg
My understanding is that the relative path is in relation to the spreadsheet - meaning, wherever the spreadsheet was found, then the path would be relative to that - for everyone accessing the spreadsheet.
I could take images and recall them with no problem. Initial testing seemed fine, but then people started complaining of not seeing images. I did some more tests and then noticed I now had a .\AppImages_images\ folder in the ROOT of my OneDrive - to be clear, I had one relative to the spreadsheet, but somewhere along the line it created a new one in the root of my OneDrive folder and subsequent images were being loaded in there.
I checked other people's OneDrive and they too had a .\AppImages_images\ folder in the root of their OneDrive, and the pictures they had been taking were being saved there. Now I'm stumped.
The intent was to store all the images in the same place - this is really unexpected behaviour. Did I miss something? is this the way it's supposed to work? The result is that I can't see anyone elses pics and with the new sheet I created it seems they just can't access it at all. It will be easy enough to create a new one again, but if this is the way it works, it's useless for my application....I need everyone's images to be in the same place.
[EDIT]
I created a new app using the Template App "Site Inspection" and simply shared it vanilla with no changes.
I also shared the folder it created on my OneDrive under PowerApps\Templates and gave a user Edit access to the top level folder and everything under it.
I can add photo's from the app, no problem.
The user can access the folder via OneDrive and add/edit everything in it.
When the user runs the app from Dynamics however, red-bar errors pop up saying "Error loading Site Inspector" and "Failed to load SitePhotos" and "Unknown error occurred."
Running from PowerApps the error is "Failed to load SitePhotos. The specified record was not found. Server response: Failed to read metadata from the file source. Response from the end service is : The resource could not be found."
[Session ID: 0b03a7d6-4bfe-8839-da7e-b1422c47b86d]
I've tried creating a brand new spreadsheet from scratch with a basic camera control - I get exactly the same - works for me, but other users get the error. Even for completely newly created apps. It looks like PowerApps cannot access the source, even though the user can....so now I've got to resolve that issue before I can try and unravel the relative path issue I started with....unless they're caused by the same thing?
I don't think it's relevant because my pics saved correctly, but I did notice the paths of the bundled template app images are all ./path/file and my new images are saved by powerapps as .\path\file in the spreadsheet [image] column....however it saves it in the right place relative to the spreadsheet so doesn't seem to be a problem.
R
Solved! Go to Solution.
Feedback from MS through another channel is that OneDrive does not behave as expected for this functionality, rather use dropbox or another cloud-storage provider until OneDrive is addressed. The fix will reportedly involve absolute paths and will be released at a later stage. Third party cloud providers are not feasible in our corporate, so I haven't bothered testing it - we are going with an Azure API workaround using blob storage.
Web app api using azure blob storage for access from PowerApps
https://powerapps.microsoft.com/en-us/blog/custom-api-for-image-upload/
As the base
https://powerapps.microsoft.com/en-us/blog/image-capture-pro-tips/
As a Powerapps camera tutorial for you to test with
Still in testing, but so far it looks good.
Kind regards,
Russel
Hi Russel,
Did you mean that your users cannot even access other data in the OneDrive in powerapps? Or they only receive the error when they try to upload the capture phone to OneDrive excel?
Also, you mentioned that the user runs the app from Dynamics, have they tried to access PowerApps on phone or tablet from PowerApps studio?
Regards,
Mona
Hi Mona,
Sorry for the long story - I'll try summarise to clarify
Initial problem:
Users could only access images they had uploaded - assume this is because the relative path was resolving to the root of their own personal OneDrive as opposed to my OneDrive where the spreadsheet sits.
Something somewhere changed, because it went from the relative path where it was (on my own OneDrive) to the root of my own OneDrive as well - initially it worked as expected, then it changed.
Subsequent problem:
Users now cannot connect to the data source at all.
This is the same via the mobile app as well as the Dynamics portal - the users do not have contribute rights so they don't see the app in Studio....does this help?
Kind regards
R
Hi R,
Please understand that if you want users upload images to the data source with this app, contribute right is necessary. Since the OneDrive connection in app can only be connected with one user account, the users will need the proper permission to access data from your OneDrive and the permission to write images to it. After all these permission are proper set, you can try to delete and reconnect to your OneDrive in this app and let the user to have a try.
Regards,
Mona
Thanks @v-monli-msft,
Just to clarify please;
User has edit access to all paths and OneDrive locations. The second iteration of this test was exactly that - created new sheet, gave all users full access to the path - they are still having access issues.
Are you saying they need contribute access on the application? i.e. they would be able to edit the application in studio?
Kind regards,
Russel
I'm seeing the same issue with images.
Using a Modified Site Inspection Template which creates all the necessary files in OneDrive (ie. data.xlsx and data_images folder).
When sharing the app with a user with contribute access to OneDrive Files stated above, they are able to see the items in the data.xlsx tables but not the images. Also, they can add items with images, everyone can see the items entered but not the images that go with that item. The individual can see only their own pictures.
After checking the users OneDrive, it seems that a data_images folder was created in their OneDrive and the two images uploaded with the item create are sitting in his OneDrive and not the one connected to the App
Feedback from MS through another channel is that OneDrive does not behave as expected for this functionality, rather use dropbox or another cloud-storage provider until OneDrive is addressed. The fix will reportedly involve absolute paths and will be released at a later stage. Third party cloud providers are not feasible in our corporate, so I haven't bothered testing it - we are going with an Azure API workaround using blob storage.
Web app api using azure blob storage for access from PowerApps
https://powerapps.microsoft.com/en-us/blog/custom-api-for-image-upload/
As the base
https://powerapps.microsoft.com/en-us/blog/image-capture-pro-tips/
As a Powerapps camera tutorial for you to test with
Still in testing, but so far it looks good.
Kind regards,
Russel
@v-monli-msft Is there any update on this? So right now OneDrive is useless ?
Can other users uploaded to SharePoint instead?
Yes i am also facing the same problem, please help.
User | Count |
---|---|
124 | |
87 | |
86 | |
75 | |
69 |
User | Count |
---|---|
214 | |
181 | |
140 | |
97 | |
83 |