Hi @Anonymous ,
Since I did not have a camera at the time, I used the add picture control to do a test for you.
I found that the image uploaded by add picture control has the format of appres://, but the format of the photo is base64.
So you got empty attachment.
If you use the camera control, I am afraid it will be difficult to meet your needs only using canvas .
I suggest you create an instant flow and add it to the canvas.
I did a test for you:
1\ Build an instant flow. Its function is to add photo attachments cyclically.

Initialize variable value: ask in powerapps // Its function is to get the ID value of the record you want to update or create

Initialize variable value2 : ask in powerapps // Get photo information in the collection

Schema:
{
"type": "array",
"items": {
"type": "object",
"properties": {
"Test": {
"type": "string"
}
},
"required": [
"Test"
]
}
}

Id: int(triggerBody()['Initializevariable_Value'])
File Name: rand(1,1000) .png // As long as the attachment name is not repeated. The formula is just for testing, it may repeat.
File Content: dataUriToBinary(items('Apply_to_each')['Test'])
2\ Build your canvas app. Add a camera control and add a button control.
Set the onselect property of the button control to:
Collect(AAA,{Test:Camera1.Photo}) // This is used to collect photos
3\ Add a button control. Add flow to it and set its onselect property to:
SubmitForm(EditForm1);Set(Thevar,EditForm1.LastSubmit.ID);TEST16.Run(Thevar,JSON(AAA,JSONFormat.IncludeBinaryData)) // TEST16 is the name of my flow


Best Regards,
Wearsky
If my post helps, then please consider Accept it as the solution to help others. Thanks.