Lägg till en dokumentvisare i din egen ASP.NET app
2023-08-01

Lägg till en dokumentvisare i din egen ASP.NET app

Du har öppnat filer här. Att placera samma renderare i din egen ASP.NET app förändrar en sak som betyder något: var dokumentet hamnar.

Du har släppt filer på den här webbplatsen för att läsa dem. Vid något tillfälle frågar någon om samma sak kan finnas i den applikation du arbetar med – ett ärende, ett krav, en ritning, öppnad på din egen sida istället för att laddas ner. Det går, och beslutet är mindre än det verkar, eftersom bara en sak verkligen förändras.

ASP.NET DOKUMENTVISARE
ASP.NET DOKUMENTVISARE

Den enda saken som förändras: var filen hamnar

Här laddar du upp ett dokument till oss, det renderas och tas bort när du stänger det. Det är en bra lösning för en fil som du fick en gång och vill läsa nu.

Det är fel lösning för ett dokument som du inte får flytta. En medicinsk journal, ett undertecknat kontrakt, en ritning under NDA – dessa får inte lämna din infrastruktur, och inget löfte om radering löser det, eftersom filen ändå har transporterats. Genom att bädda in renderaren vänder du på det: dokumentet öppnas av din server, inom ditt nätverk, och det som når webbläsaren är en rendering. Filen flyttar sig aldrig.

Det är anledningen till att bädda in. Allt annat är detaljer.

Det är en komponent, inte en widget

Den del som folk missförstår först: detta är inte JavaScript som öppnar filen i webbläsaren. Det är en inbyggd .NET‑komponent som du refererar till i ditt projekt, och renderingen sker på servern. Din sida får resultatet.

Två konsekvenser följer. Den positiva: webbläsaren installerar ingenting – ingen plugin, ingen ActiveX, ingen läsare – så den fungerar lika bra på en låst dator som på en telefon. Den du måste planera för: din server gör jobbet, så en 200‑sidig PDF och en 40 MB‑ritning är inte samma begäran. Dimensionera maskinen för den största filen du kommer att acceptera, och neka allt som är större vid uppladdning.

Vad du måste besluta innan du börjar

Tre frågor, och ingen av dem handlar om visaren:

  • Var kommer dokumenten ifrån – en databas, en fildelning, blob‑lagring?
  • Vem får se detta, och upprätthåller visarens URL det eller bara antar det? En renderings‑endpoint som svarar på vem som helst med dokument‑id är det klassiska hålet.
  • Vad händer med de temporära filerna som renderingen skapar, och när?

Svara på dem så är själva integrationen kort. Lämna dem åt senare och du kommer att behöva eftermontera behörighetskontroll på en visare som redan fungerar, vilket är värre.

Var den körs

.NET Framework 4.0 och senare, samt .NET Standard 2.0 och senare – så WebForms, MVC, ASP.NET Core, Blazor Server och Linux‑containrar. Office behöver inte vara installerat på servern; renderaren läser formaten direkt.

Om du bara ville läsa en fil idag är det vad PDF‑visare och de övriga visarna här är till för. Om det är den applikation du tänker på, så finns komponenten, dess paket och API‑dokumentation på Doconut.com.