Vorbedingungen

Was die Hostanwendung einmal einrichten muss, bevor das erste Beispiel läuft. Fehlt davon etwas, erscheint meist keine Fehlermeldung.

Das Paket selbst braucht keine Registrierung. Beide EditorTemplates reden aber mit Endpunkten, die die Anwendung bereitstellt, und lesen ihre Einstellungen über [AdditionalMetadata]. Fehlt davon etwas, erscheint die Ablagefläche, aber der Upload schlägt fehl oder die Einstellungen fallen still auf ihre Standardwerte zurück.

Setzt die Grundeinrichtung aus Basis › Vorbedingungen voraus.

Für DokumentListe und IFormFile

Was Wo Fehlt es
Paket FMH.Komponente.FileUpload .csproj Tabelle, PDFViewer, Basis und FileUpload.Validierung kommen transitiv mit
Grundeinrichtung aus Basis › Vorbedingungen Program.cs, _Layout.cshtml fehlen Dropzone und das Skript der Ablagefläche samt Stilen. Ohne AddFmhWidgetOptions() wirken die [AdditionalMetadata]-Angaben nicht: Upload-Adresse, Download-Namen, Umbenennen, Sammel-Löschen und die Grenzen fallen auf die Standardwerte zurück
Ein Upload-Endpunkt der Anwendung eigener Controller schlägt jeder Upload fehl. Er nimmt per POST die Datei entgegen und antwortet mit Json, das eine Eigenschaft id enthält. Fehlt die id, schreibt das Skript eine Warnung ins Log und lädt die Seite neu
Serverseitige Prüfung von Grösse, Anzahl und Endung im Endpunkt eigener Controller ist der Endpunkt von aussen ohne Grenzen erreichbar. Die Angaben am Feld prüft nur der Browser

Adresse, Aufbau der Anfrage und die übrigen Angaben am Feld stehen in der Anleitung von DokumentListe und IFormFile.

Zusätzlich für DokumentListe

  • Ein Download-Endpunkt in derselben Area wie die Seite. Das Template baut den Link je Zeile aus Action und Controller (Standard download und dokument) plus dem Routenwert id, ohne Area-Angabe. Liegt der Endpunkt anderswo, läuft der Link ins Leere. Für andere Routen gibt es das Beispiel «Download-Url zur Laufzeit».
  • Für die Vorschau im Dialog @Html.Fmh(Fmh.DialogDokumentViewer()) aus dem PDFViewer, einmal je Seite und ausserhalb des Formulars, am besten im Layout. Die Links der Liste tragen data-siwf-documentviewer-type; mit dem Dialog öffnen sie die Vorschau, ohne ihn laden sie das Dokument herunter. Einzelheiten unter PDFViewer › Vorbedingungen.
  • Umbenennen und Löschen in der Formular-Action. Dafür gibt es keine eigenen Endpunkte: Das Template sammelt die Änderungen in DokumenteUmbenennen und DokumentLoeschenIds, und die POST-Action des Formulars muss sie ausführen. Sonst gehen sie beim Absenden verloren. Das Beispiel «Dokumente bearbeiten» zeigt die Action.

Zusätzlich für grosse Dateien

  • KestrelServerOptions.Limits.MaxRequestBodySize begrenzt, was ankommt. Das Template kappt die Grössenangabe am Feld auf diesen Wert minus 2 MB. Wer grössere Dateien zulassen will, hebt zuerst die Grenze des Servers an.