You can't really do what you'd want with typical email templates as they can only really display static images that you paste in or references to files that already exist. Since, in this case, the records/files will be created moments before (or be the trigger), it'll need to be able to dynamically pull them when the alert goes out. I can see one of two options:
- Using PB and email alert and Visualforce Email template
Basically, the plan you had going on where the VF email template will handle the hard part which is getting the image from a file on the record.
The second link will be important. You'd essentially create a custom apex class that would pull the Attachment/file and then create a URL to access that file.
You'd have a custom component that just serves to display the image (if it needs to be displayed) using and passing in the url from the apex you built.
Then, you'd have a Visualforce email template that would include this component at whatever location you'd like around all the other text. You can access merge fields from the record and do normal things here as well (first document link).
- Complete Apex Solution
You could look to do this all in apex upon insert with separate methods for building the url to display in html, building the email body, and sending the email. However, whenever you get the chance to use the standard options (PB, email alerts, template), I'd say it's a better option for maintainability than going for completely custom.