Många utvecklare börjar med att leta efter UI‑komponentbibliotek när de behöver visa dokument i en webbapplikation. Doconut Viewer är ett .NET SDK för att lägga till plugin‑fri webbläsarvisning i ASP.NET Core, MVC eller klassiska WebForms‑projekt. Säkerheten beror fortfarande på hela applikationsarkitekturen: autentisering, auktorisation, transport, lagring, validering, rensning, patchning och övervakning.

1. Installera Doconut App SDK och förbered ditt .NET‑projekt för flera filformat
1.1 Lägg till det stödjade paketet
Använd det aktuella paketet och installationsinstruktionerna från den officiella Doconut nedladdningssida. Notera den valda versionen och verifiera att den stödjer den mål‑NET‑runtime du använder.
1.2 Verifiera paketreferensen
Efter installationen, bekräfta paketreferensen och den lösta versionen i projektfilen. Att hålla versioner explicita hjälper till att göra byggen och distributioner reproducerbara.
1.3 Aktivera HTTPS
Servera applikationen via HTTPS så att uppladdade dokument inte färdas i klartext på ditt nätverk. För en Kestrel‑hostad app, lägg till en endpoint‑konfiguration i appsettings.json:
{
"Kestrel": {
"Endpoints": {
"Https": {
"Url": "
}
}
}
}
Om du hostar på IIS, bind ett HTTPS‑certifikat till webbplatsen. Med HTTPS aktiverat färdas filen över en säker kanal på vägen till din egen server, vilket är där SDK:n renderar den.
Var säkerheten kommer från. SDK:n körs inuti din applikation, på din infrastruktur: den gör inga anrop till Doconut‑servrar, så dokument lämnar aldrig ditt nätverk. Det är den egenskap som är värd att designa kring. Det är inte ett efterlevnads‑certifikat — SDK:n levereras utan någon egen ISO 27001-, SOC 2- eller HIPAA‑attestering, och den kan inte bevilja en sådan för din applikation. Vad den gör är att hålla filen inom en gräns som du redan kontrollerar och redan granskar.
2. Konfigurera säkra filuppladdningar och lagring för dokumenthantering
Detta är den del som är din snarare än SDK:ns, och det är värt att säga rakt på sak: transport‑säkerhet, kryptering i vila, retention och rensning är beslut som din applikation fattar. SDK:n renderar dokument; den är inte ett lagringslager och den krypterar inte din disk åt dig.
2.1 Registrera tjänsterna
I Startup.cs (eller Program.cs i modern .NET) registrerar du Doconut‑tjänsterna i beroende‑injektions‑containern enligt dokumentationen för den version du installerade. Där SDK:n behöver en arbetsmapp för temporär renderingsoutput, peka den till en plats du kontrollerar, och gör rensning av den mappen till ditt ansvar — ett schemalagt jobb eller en applikationsstyrd livstid, inte ett antagande.
2.2 Skapa uppladdnings‑endpointen
Implementera en controller‑action som tar emot en uppladdad fil, skriver den till den lagring som din applikation redan använder, och returnerar en kort engångstoken. Token är vad klient‑sidans visare kommer att använda för att hämta och rendera dokumentet. Observera att lagringen är din: du ger SDK:n byte‑data eller sökvägen när det är dags att rendera, och den ger dig tillbaka sidor.
2.3 Skydda endpointen
Eftersom uppladdnings‑endpointen hanterar känslig data, skydda den med autentisering och rollbaserad auktorisation (till exempel, endast användare i rollen DocumentViewer får ladda upp). Validera filändelsen och storleken på serversidan såväl som i webbläsaren, och behandla de uppladdade bytena som opålitlig indata.
Hoppa inte över detta under antagandet att SDK:n täcker det. Kryptering i vila, nyckelhantering och rensning av föräldralösa filer är din applikations uppgift. Om du behöver dokument krypterade på disk, använd de plattformsfunktioner du redan litar på för det — visaren är inte platsen för det.
3. Bädda in visarkomponenten i ASP.NET Core, MVC eller WebForms
Med backendet redo, initiera visaren med de tillgångar och det API som dokumenteras för den installerade Doconut‑versionen.
3.1 Lägg till JavaScript‑paketet
I din delade layout, inkludera endast de resurser för visaren som beskrivs i dokumentationen som matchar det installerade SDK‑et. Anta inte fasta paketnamn eller platser mellan versioner.
3.2 Skapa en Razor‑vy för Core/MVC
Lägg till en vy (t.ex. Views/Document/View.cshtml) som innehåller ett filinmatningsfält, ett behållarelement för visaren och ett litet skript som laddar upp den valda filen, tar emot den säkra token och initierar Doconut Viewer‑widgeten.
Skriptet ska:
- Fånga den valda filen från
<input type="file">‑elementet. - Skicka filen till uppladdnings‑endpointen med
fetchellerXMLHttpRequest. - När det auktoriserade svaret kommer, initiera visaren med det stödjande API‑et för den installerade versionen.
3.3 WebForms‑motsvarighet
På en WebForms‑sida (t.ex. DocumentViewer.aspx), placera en asp:FileUpload‑kontroll, en knapp för att trigga uppladdningen och ett <div> som kommer att hysa visaren. I kod‑bakom, anropa Doconut‑tjänsten för att lagra den uppladdade filen, hämta token och registrera ett start‑skript som anropar en JavaScript‑funktion (initViewer(token)) för att skapa visar‑instansen.
Anledningen till att göra så här: en renderingsväg som betjänar tre .NET‑UI‑modeller, utan något installerat på slutanvändarens maskin.
4. Anpassa visaren för dokumenthantering
Visaren renderas i en behållare på din egen sida, så den omgivande applikationen är redan din. Dessutom, hämta alternativnamn och standardvärden från dokumentationen för den version du installerat snarare än från någon handledning, inklusive den här — konfigurationsytan förändras mellan releaser och ett hårdkodat alternativnamn är det som mest sannolikt går sönder vid en uppgradering.
De saker som är värda att bestämma i förväg:
4.1 Vilka kontroller användaren får
Bestäm om dina användare ska kunna ladda ner originalfilen, eller bara läsa de renderade sidorna. Styrd utskrift är en del av visaren snarare än ett separat köp, så utskriftsregler är en konfigurationsfråga, inte en licensfråga.
4.2 Vilka plugin‑moduler du faktiskt behöver
Fyra licensieras separat, och listan är tillräckligt kort för att vara värd att memorera: Annotation, Converter, DICOM och Search. Konvertering — DOC till PDF och resten — är Converter‑pluginet. Textsökning är Search‑pluginet. Om du inte behöver någon av dem, köper du ingen.
4.3 Lokalisering
Om din applikation är flerspråkig, kontrollera vad den installerade versionen erbjuder för UI‑strängar i visaren innan du designar runt dem.
Varför detta är viktigt: visaren ska se ut som en del av din produkt. Vad den inte ska göra är tyst lova dina användare funktioner som licensen du köpt inte innehåller.
5. Testa integrationen för alla stödda format
Innan du går live, kör en snabb kontroll för varje filtyp du förväntar dig att dina användare ska kunna visa. Med Doconut Apps visare, öppna en exempelfil för varje format och verifiera att rendering, navigation och eventuella specialverktyg fungerar som beskrivs.
| Format | Testscenario | Förväntat resultat |
|---|---|---|
| Stort, flersidigt rapport med inbäddade bilder | Mjuk rullning, zoom och exakt färgrendering | |
| DOCX | Word‑dokument med tabeller och fotnoter | All text, tabeller och fotnoter synliga; ingen layoutförändring |
| XLSX | Kalkylblad med diagram | Diagram renderas som vektorgrafik; zoom behåller klarhet |
| PPTX | Bildspel med animerade byggsteg | Varje byggsteg på en bild renderas staplat i en ram — det är förväntat, inte ett fel |
| DWG | Teknisk ritning med lager och externa referenser | Lager kan slås på/av, avstånds‑ och arealmätning fungerar; xrefs och SHX‑typsnitt saknas eftersom de aldrig fanns i filen |
| PSD | Lagerfil i Photoshop | Den sparade sammansättningen renderas, med dolda lager fortsatt dolda; färger behåller skärpa vid zoom |
| SVG | Vektorgrafik med gradienter | Gradienter renderas smidigt; zoom förblir skarp |
| TIFF | Högupplöst skanning | Bild laddas snabbt; zoom visar detaljer |
Testa med dina användares faktiska filer, inte med rena exempel. De format som överraskar folk är de vars egenheter ligger i själva formatet — ett DWG som refererar till fyra andra ritningar, ett kalkylblad vars lagrade värden aldrig återberäknades, ett bildspel vars typsnitt inte var inbäddade. Den gratis visaren på Doconut.app kör samma motor, så det är ett snabbt sätt att se hur en specifik knepig fil blir innan du skriver någon kod.
Slutsats
Inbäddning av en pluginfri dokumentvisare reduceras till fyra saker: installera SDK:n, säkra din egen uppladdningssökväg, rendera i en behållare på din sida och konfigurera endast det som den installerade versionen dokumenterar. Visarens bidrag till säkerheten är begränsat och verkligt — den körs på dina servrar och skickar inget ut. Allt annat på den listan tillhör din applikation, och inget SDK kan ta över det åt dig.
Redo att utvärdera den? Börja med den officiella Doconut nedladdnings- och dokumentationssidan, och testa sedan SDK:n inom samma säkerhetsgranskning som tillämpas på resten av din Windows‑baserade ASP.NET‑applikation.