I’ve built a custom Canvas App (Power Apps) that allows users to upload an attachment and create a “Note” record (Annotation) in Dataverse (specifically within Customer Service Hub). However, when I patch the file to Dataverse, the documentbody field for the Note ends up with a appres://blobmanager/... reference rather than true Base64. As a result, the file appears in the Note record but cannot be opened or downloaded properly.
- I’m using a standard Attachment Control (or similar) which generates a reference like
appres://blobmanager/... for the uploaded file.
- I need the actual Base64 content, not that blob manager URI.
Patch(
'Note',
Defaults('Note'),
{
'Tema': Table2_1.Selected,
'Descrizione': TextInputCanvas2_1.Value,
'Titolo': Table2_1.Selected.'Numero caso',
'Documento (isdocument)': If(!IsEmpty(DataCardValue10_1.Attachments), true, false),
'Documento (documentbody)': If(!IsEmpty(DataCardValue10_1.Attachments), First(DataCardValue10_1.Attachments).Value, Blank()),
'Nome file': If(!IsEmpty(DataCardValue10_1.Attachments), First(DataCardValue10_1.Attachments).Name, Blank()),
'Tipo MIME': If(
!IsEmpty(DataCardValue10_1.Attachments),
Switch(
Lower(Right(First(DataCardValue10_1.Attachments).Name, 4)),
".png", "image/png",
".jpg", "image/jpeg",
"jpeg", "image/jpeg",
".pdf", "application/pdf",
".txt", "text/plain",
".ml", "application/xml",
"application/octet-stream"
),
Blank()
)
}
);
Reset(TextInputCanvas2_1);
UpdateContext({varShowPopup: false});
Refresh('Note');
- Is there a recommended approach or best practice to avoid storing
appres://blobmanager/...?
- Am I correctly handling the Attachment Control to get the full Base64 string in the Canvas App?
Thank you!