Attachments
Explanation
Any page of a wiki can carry files as attachments, a core feature that the Attachment API and the modules around it provide. Users attach and manage them from the "Attachments" tab of a Page, and administrators decide what may be uploaded and where it is stored.
Two macros let a Page ask its reader for one of those attachments: the attachmentGalleryPicker macro searches the attachments of the wiki and hands the choice to a script, and the attachmentSelector macro writes it into an xobject property. The Attachment Picker Application ships what the first of them needs to look and behave like a picker, and the tab that puts it in the image dialog of the WYSIWYG editor; the Attachment Picker WebJar holds the JavaScript that does the searching and the picking.
A file picked for upload is offered to the JavaScript of the page before it is sent, so that an extension may refuse it: Client-Side Attachment Validation documents that event and what a listener may do with it. Whatever the browser decided, the server examines the file again before saving it, along the chain the Attachment Validation API describes; the limits that chain enforces are read through the Attachment Validation Configuration API, and shipping a check of your own takes one component: Add an Attachment Validation Step.
More
To find more about the current topic, you can search or use the table below and filter the columns to narrow your choices.