Skip to content

Media

The Media section is the file manager for FundedYouth’s CDN (content delivery network). Administrators use it to upload, browse, and manage image files that are used across the platform — currently for custom badge graphics, and in the future for inventory product images.


The Media page has three parts: the upload zone, a search bar, and a grid of uploaded files.

Media

Browse, upload, and manage images in your R2 storage
1 file
Drop images here or click to upload JPEG, PNG, WebP, GIF, SVG — up to 5MB each
3d-printing-pro_educational-pa...
3d-printing-pro_educational-pa... 636.2 KB

There are two ways to upload files:

  1. Drag and drop — Drag image files from your computer directly onto the upload zone. The border turns blue when a file is hovering over the area.
  2. Choose Files — Click the Choose Files button to open a file picker. You can select multiple files at once.
FormatMIME Type
JPEGimage/jpeg
PNGimage/png
WebPimage/webp
GIFimage/gif
SVGimage/svg+xml

Each file can be up to 5MB. Files larger than 5MB will be rejected with an error message.

  1. You drop or select files
  2. The button changes to “Uploading…” with a spinner
  3. Each file is uploaded to the CDN one at a time
  4. The file appears in the grid below once complete
  5. The file count in the top-right corner updates

Files are stored with a timestamp prefix to prevent naming conflicts. For example, a file named badge-icon.png might be stored as media/1710345678901-badge-icon.png.


All uploaded files appear in a grid below the search bar. Each file is shown as a card with:

DetailWhat It Shows
ThumbnailA preview of the image, scaled to fill a square
FilenameThe stored filename (truncated if long)
File sizeThe size in KB or MB

Use the search bar to filter files by name. The search is case-insensitive and filters in real time as you type. When no files match, you’ll see “No files match your search.”


Hover over any file card to reveal two action buttons:

ActionButtonWhat It Does
Copy URLCopy icon (white circle)Copies the file’s public CDN URL to your clipboard. The icon turns to a green checkmark for 2 seconds to confirm.
DeleteTrash icon (red circle)Opens a confirmation dialog to delete the file (see below)

The Copy URL action gives you the full public URL for the file — for example:

https://cdn.fundedyouth.org/media/1773424818399-3d-printing-pro_educational-pathway-badge-v1.png

You can paste this URL into badge forms, documentation, or anywhere else that accepts an image URL.

Clicking the delete button opens a confirmation dialog:

Delete File
Are you sure you want to delete this file? This action cannot be undone.
Cancel Delete
  • Deletion is permanent — the file is removed from R2 storage and cannot be recovered
  • If the file is currently referenced by a badge or product, the reference will break (the image will stop displaying)
  • Both uploads and deletions are recorded in the Audit Log

The primary use of the Media library today is for custom badge graphics. When creating or editing a badge in the Students section, admins can click Browse Media to open an inline media browser and select an uploaded image as the badge’s custom icon.

If no custom image is selected, the badge falls back to a default icon from the system’s icon library.

The Media library will also be used for product images in the Inventory section. Products will be able to reference uploaded media files for their display images.


  • Admin access only. Only users with the Admin role can upload, browse, or delete media files.
  • Files are public. Once uploaded, files are accessible via their CDN URL. Do not upload sensitive or private images.
  • No folders. All files are stored in a flat list under the media/ prefix. Use descriptive filenames to stay organized.
  • Filenames are sanitized. Special characters are removed and the filename is converted to lowercase when stored.
  • No duplicate prevention. Uploading a file with the same name creates a new file with a different timestamp prefix — it does not overwrite the original.
  • Deletions are audited. Every upload and deletion is logged in the Audit Log with the admin who performed the action.