Per-file Metadata Fields

Collect a caption and category with every file

Declare MetaFields and every pending queue row renders an inline input per field. Values travel to the server automatically as a metadata form field and an X-Upload-Meta base64-JSON header. Fields marked required block that file’s upload until filled. Image files in the thumbnail grid get a ✎ button that opens a modal editor instead.

What you should see: every queued file gets Caption and Category inputs. Uploading with Category empty is blocked with a message; fill it in and retry to complete.
Drag & drop files here, or paste from clipboard
<au:AjaxFileUpload ID="Uploader1" runat="server"
 AllowMultiple="true"
 AutoUpload="false"
 MetaFields='[{"id":"caption","label":"Caption"},
              {"id":"category","label":"Category","required":true}]'
 OnClientMetaChange="metaChanged" />