Media Upload — SanadiqCloud

Product version: 1.0.0+1
Last updated: 2026-10-02
Audience: Tenant Owners, Tenant Employees, Regular Users with media:create


A. Upload Page

Path: /media/upload (from Library Upload).

Fields

Field Notes
Media type Product, Brand, Organization, Certificate, General
Alt text Optional
Description Optional
Tags Optional
File File picker — images for product/brand/organization; broader types for certificate/general

Flow

  1. Choose type and optional metadata.
  2. Review storage usage summary when shown.
  3. Pick a file (app rejects files over 25 MB).
  4. On success → snack → return to library (library reloads).
  5. Quota/storage failures appear as error snacks.

Batch multi-file upload UI is not shipped.

Profile photos

Profile pictures are not uploaded here. Use Profile → change photo (profile upload API, type user_profile). The previous photo is removed only after the new one is saved to your profile; if saving fails, the new upload is deleted. Removing the photo deletes your stored profile images.


B. Business rules

  • Tenant scope is required for library uploads.
  • Uploading the same file twice creates two separate library items.
  • Delete with active references requires force on the detail page.
  • Allowed formats: images (JPEG, PNG, GIF, WebP, BMP, TIFF, AVIF, HEIC/HEIF), videos (MP4, WebM, Ogg, MOV), PDF, Word, Excel, plain text and CSV.
  • SVG, HTML, scripts and executables are blocked, and the file content must match its declared type.
  • If the storage limit cannot be checked, the upload is refused rather than allowed.

Related: Library | Overview