File Upload

You must be logged in to upload, edit, or delete files. The grid below will still render, but the toolbar and row actions honor the current user's permissions.

This demo is backed by a real Dataverse ppp_file table. The grid uses a custom view (see the CustomViews.cs tab below) that shows rows owned by the shared demo-seed user or owned by the logged-in portal user (ownerid == DemoUserId OR ppp_owningportaluserid == currentUserId). Seed rows give the grid realistic content from the start; rows you upload are yours to edit, replace, and delete. The permission handler only lets you write to rows you own, so seed rows are read-only. You must be logged in to upload, replace, or delete. Try dragging files onto the grid, previewing images/PDFs/markdown/text, replacing the file on a selected row, downloading individual files, and using Download All to grab a zip.

Per-user cap: each logged-in user can own at most 5 ppp_file rows at a time. The 6th upload throws a user-visible error from an ITableRecordInterceptor registered server-side — see the FileUploadLimitInterceptor.cs tab below for the implementation. Delete an existing file to free up a slot.

File Upload Demo

A FileGrid bound to the ppp_file table with the ppp_data file column. Max file size is capped at 500 KB for this demo — environment-level blocked extensions and column-level size limits still apply.

Blazor example
Download All
Download All

Page size

102050100
Filename
Data
Created On
Sample — Project Archive
archive.zip
4/22/2026 2:27 PM
Sample — Program Entry
Program.cs
4/22/2026 2:27 PM
Sample — Brand Red
brand-red.png
4/22/2026 2:27 PM
Sample — Brand Blue
brand-blue.png
4/22/2026 2:27 PM
Sample — Brand Green
brand-green.png
4/22/2026 2:27 PM
Sample — Client Script
app.js
4/22/2026 2:27 PM
Sample — Client Types
app.ts
4/22/2026 2:27 PM
Sample — Stylesheet
styles.css
4/22/2026 2:27 PM
Sample — API Schema
api-schema.xml
4/22/2026 2:27 PM
Sample — Landing Page
index.html
4/22/2026 2:27 PM
Sample — Environment Settings
settings.yaml
4/22/2026 2:27 PM
Sample — Deploy Log
deploy.log
4/22/2026 2:27 PM
Sample — App Configuration
app-config.json
4/22/2026 2:27 PM
Sample — Release Checklist
release-checklist.txt
4/22/2026 2:27 PM
Sample — Quarterly Revenue
revenue-q1.csv
4/22/2026 2:27 PM
Sample — Project Brief
project-brief.txt
4/22/2026 2:27 PM
Sample — Meeting Notes
meeting-notes.md
4/22/2026 2:27 PM