cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MrNappa
Advocate V
Advocate V

Uploading photos to CDS entity

I'm creating an app that allows users to create various registrations. These registrations might include a photo they have to take on the spot with the device camera. What's the best way to achieve this? (Everything is purely based on CDS)

 

My first approach was to add an 'Image' field to my entity, and Patch the photo to that field. However, I found that this will simply create a super compressed 'entity image' that is useless in practice.

 

I'm now looking at enabling Notes for the registration entity, and add the photo as a notes attachment to the registration. However will it be possible this way? I was playing around a bit like this:

// test sending photo as notes attachment
Patch( Notes, Defaults(Notes), {
    subject:"Photo test",
    notetext:"Description text",
    filename: "photo.jpg",
    _objectid_value: First(Accounts),
    documentbody: PhotoDialog_1.Foto, // note to reader: this is the output of an 'Add picture' control (AddMediaButton.Media)
    isdocument:true
  } );


However, this is simply giving me an OData exception when executed:

odata.jpg

4 REPLIES 4
Lars4
Helper II
Helper II

Another (not perfect I guess) option is to store the base64 string representing the photo into a multiline text field. 

v-monli-msft
Community Support
Community Support

Hi @MrNappa ,

 

If you mean that you want to take a picture with Camera control and then upload this photo as the attachments of your CDS entity, then I'm afraid that this cannot be achieved so far. 

 

You can only upload existing photo files as the attachments using Attachments control inside an edit form. For more information, please refer to:

https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/controls/control-attachments

 

Regards,

Mona

 

 

 

Community Support Team _ Mona Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.


@Lars4 wrote:

Another (not perfect I guess) option is to store the base64 string representing the photo into a multiline text field. 


Hm, yeah that's not ideal, because it will require further processing with a plugin (or maybe flow?). Then again, if it's the only way...


@v-monli-msft wrote:

Hi @MrNappa ,

 

If you mean that you want to take a picture with Camera control and then upload this photo as the attachments of your CDS entity, then I'm afraid that this cannot be achieved so far. 

 

You can only upload existing photo files as the attachments using Attachments control inside an edit form. For more information, please refer to:

https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/controls/control-attachments

 

Regards,

Mona


Do you know if this will be possible in the future? It seems like a blatant omission in functionality... Or do I have to carry myself over to the ideas forum again... 😅

 

Also, I've been experimenting with a different data connector to achieve this. If I add the 'Notes' as a 'Dynamics 365' data source instead, and use this code to do the patch:

Patch( Notes,Defaults(Notes), {
    subject:"subject",
    notetext:"description",
    _objectid_type:"accounts",
    _objectid_value: First(Accounts).Account,
    filename: "photo.jpg",
    documentbody: base64data
});

It seems to be successful. But is it a good idea to mix CDS with D365 connectors? I'm also not entirely sure how the authentication of the D365 connector is set as opposed to the CDS data source.

Helpful resources

Announcements
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.

Users online (2,075)