Ja—du kan bädda in en säker, plugin‑fri online‑filvisare i vilken ASP.NET Core‑, MVC‑ eller WebForms‑applikation som helst på bara några minuter, och Doconut App sköter allt tungt arbete.
Företag som hanterar kontrakt, ritningar eller designresurser behöver en visare som respekterar företagets säkerhetspolicyer, fungerar i alla webbläsare och aldrig tvingar användare att installera tredjeparts‑plugin. Doconut App levererar exakt det: en webbläsarbaserad visare som stödjer PDF, Office, CAD och över 50 andra format, med AES‑256‑kryptering, endast SSL‑uppladdningar och ett helt anpassningsbart UI. Detta inlägg guidar dig genom hela arbetsflödet—från säkrad filuppladdning till rendering av visaren—så att du kan leverera en polerad, företagsklassad lösning utan att skriva en renderingsmotor från grunden.
1. Varför säkerhet och rendering utan plugin är viktigt för .NET‑webbappar
Moderna företag behandlar varje dokument som en potentiell dataläcka. När du bäddar in en visare som förlitar sig på ActiveX, Flash eller en inbyggd klient, ärver du tre risker:
| Risk | Påverkan på din .NET‑applikation | Hur Doconut App eliminerar det |
|---|---|---|
| Plugin‑beroende | Användare måste installera eller aktivera ett webbläsar‑plugin, vilket leder till supportärenden och efterlevnadsproblem. | Doconut kör helt i HTML5/Canvas och kräver inga plugin‑. |
| Okrypterad överföring | Filer transporteras via HTTP eller lagras i klartext, vilket bryter mot GDPR, HIPAA eller interna policyer. | Alla uppladdningar sker via SSL och lagras med AES‑256‑kryptering. |
| Okontrollerad livscykel | Filer kan ligga kvar på servern, vilket ökar risken för intrång. | Doconut tar automatiskt bort filer efter visning, vilket säkerställer ett kort lagringsfönster. |
Eftersom visaren levereras som en JavaScript‑komponent som kommunicerar med Doconut’s säkra renderingtjänst, håller du .NET‑stacken ren—inga extra inhemska bibliotek, inga tredjeparts‑binärer och inga extra efterlevnadsgranskningar.
2. Förbereda ditt .NET‑projekt – den minsta konfigurationen för ASP.NET Core, MVC och WebForms
Oavsett om du använder ASP.NET Core, MVC 5 eller WebForms, är förberedelsesteget identiska:
-
Lägg till Doconut‑skriptpaketet
Doconut hostar ett lättviktigt visarskript på sin CDN. Lägg till följande rad i din layout‑sida (t.ex._Layout.cshtmlellerSite.Master):<script src="https://doconut.app/viewer.min.js"></script> -
Skapa ett platshållarelement
Visaren injicerar en canvas i varje<div>du anger. Exempel för Razor:<div id="docViewer" style="width:100%; height:800px;"></div>För WebForms, placera en
<asp:Panel>medrunat="server"och ge den ettID="docViewer". -
Referera Doconut‑CSS (valfritt)
Om du vill ha standardverktygsfältet och temat, inkludera CSS‑filen:<link rel="stylesheet" href="https://doconut.app/viewer.min.css" />
Det är alla statiska resurser du behöver. Resten av arbetet sker i din server‑sidiga kod (uppladdning, kryptering, token‑generering) och ett litet klient‑sidigt initieringsskript.
3. Bygga en säker uppladdnings‑endpoint – AES‑256, SSL och automatisk radering
Visaren får aldrig åtkomst till filer direkt på ditt filsystem. Istället laddar du upp dokumentet till en tillfällig, krypterad lagringsplats som Doconut läser på begäran. Nedan är en hög‑nivå‑beskrivning av de nödvändiga stegen för ASP.NET Core; samma idéer gäller för MVC och WebForms.
Server‑sidigt arbetsflöde
- Ta emot den uppladdade filen – Använd standard
IFormFile(ellerHttpPostedFilei WebForms) för att ta emot dokumentet från klienten. - Kryptera filen med AES‑256 – Innan du sparar strömmen, kryptera den med ett beprövat bibliotek som
System.Security.Cryptography.Aes. Spara den krypterade blobben på en säker plats (t.ex. Azure Blob Storage med server‑side‑kryptering aktiverad, eller en S3‑bucket med SSE‑AES256). - Generera en kortlivad signerad URL – Skapa en URL som är giltig i några minuter (t.ex. 5 minuter). URL:en ska vara HTTPS och innehålla en kryptografisk token som Doconut kan validera. De flesta molnlagringstjänster erbjuder en “pre‑signed URL”-funktion som uppfyller detta behov.
- Returnera den signerade URL:en till klienten – Skicka ett JSON‑svar som innehåller URL:en. Klienten kommer att vidarebefordra denna URL till Doconut‑visaren.
- Schemalägg automatisk radering – Efter att den signerade URL:en har gått ut, tar ett bakgrundsjobb (Hangfire, Azure Functions, etc.) bort den krypterade blobben, vilket garanterar att filen inte finns kvar på servern.
MVC / WebForms‑ekvivalenter
- MVC – Placera samma logik i en vanlig controller‑action och returnera
JsonResult. - WebForms – Implementera en
.ashx‑handler eller en sidmetod som följer samma steg: ta emotRequest.Files[0], kryptera, generera en pre‑signed URL och skriv JSON‑svaret.
Den enda skillnaden är routningssyntaxen; säkerhetsarbetsflödet är identiskt.
4. Rendera Doconut‑visaren – från URL till canvas i webbläsaren
När klienten har mottagit den signerade URL:en kan visaren startas med ett enda JavaScript‑anrop. Doconut‑SDK:n hanterar automatiskt streaming, rendering och UI‑interaktioner.
<script>
// Assume `response.viewerUrl` contains the signed URL returned from the upload endpoint
function launchViewer(viewerUrl) {
// Initialise the Doconut viewer. The global object provided by the script is `DoconutViewer`.
DoconutViewer.init({
containerId: "docViewer", // The <div> we placed earlier
fileUrl: viewerUrl, // Signed, HTTPS URL to the encrypted file
toolbar: true, // Show the built‑in toolbar
theme: "light" // Optional visual theme
});
}
// Example: after a successful upload
fetch("/api/document/upload", {
method: "POST",
body: myFormData,
credentials: "include"
})
.then(r => r.json())
.then(data => launchViewer(data.viewerUrl));
</script>
Varför detta fungerar för alla .NET‑varianter
- ASP.NET Core Razor – Skriptet finns i samma vy som innehåller uppladdningsformuläret, så flödet är sömlöst.
- MVC – Använd
@section Scriptsför att injicera samma kodsnutt; controllern returnerar JSON som MVC:s$.ajaxkan konsumera. - WebForms – Registrera skriptet med
ClientScript.RegisterStartupScriptefter att uppladdningen är klar, och anropa sedanlaunchViewerpå samma sätt.
Eftersom Doconut strömmar dokumentet direkt från den signerade URL:en, rör servern aldrig filen igen efter uppladdningssteget. Visaren renderar PDF‑filer, Word‑dokument, CAD‑ritningar och alla andra format som listas i produktfakta—utan någon extra server‑sidig konvertering.
5. Anpassa visaren för att matcha ditt varumärke – finjustera online‑filvisaren
Företag behöver ofta att visaren ser ut som en inbyggd del av deras portal. Doconut Apps fullt anpassningsbara UI låter dig:
| Anpassning | Så tillämpar du i .NET |
|---|---|
| Verktygsfältets layout | Skicka toolbar: false och bygg egna knappar som anropar visarens JavaScript‑API (t.ex. zoomIn(), print()). |
| Färgschema | Ställ in theme: "dark" eller tillhandahåll en anpassad CSS‑fil som åsidosätter standardklasserna. |
| Språk & tillgänglighet | Doconut respekterar lang‑attributet på containern; du kan också injicera ARIA‑etiketter via accessibility‑alternativet. |
| Händelse‑krokar | Callback‑funktioner som onPageChange, onError och onDownload låter dig logga användningsstatistik i din befintliga telemetripipeline. |
Alla dessa krokar konfigureras i samma JavaScript‑objekt som visas i föregående avsnitt. Eftersom visaren lever helt på klienten, finns det ingen extra serverbelastning—din .NET‑backend förblir fokuserad på autentisering, kryptering och affärslogik.
6. Prestanda och skalbarhet – håll upplevelsen snabb
Att bädda in en visare i en högtrafikerad portal medför två praktiska bekymmer: laddningstid och konkurrerande rendering. Doconut App hanterar båda direkt ur lådan, men du kan förstärka prestandan med några .NET‑specifika knep.
| Aspekt | Doco nuts inbyggda fördel | Ytterligare .NET‑tips |
|---|---|---|
| Initial nedladdning | Visarskriptet är bara ~150 KB, gzip‑at. | Aktivera statisk filkomprimering (app.UseResponseCompression()) och cachning (Cache‑Control: public, max‑age=31536000). |
| Fil‑streaming | Doconut strömmar endast de behövda sidorna, med HTTP‑range‑förfrågningar. | Spara krypterade blobbar i en regional CDN (Azure Front Door, Amazon CloudFront) för att minska latens. |
| Samtidiga användare | Rendering sker på klienten; servern levererar bara den krypterade filen en gång per visning. | Begränsa uppladdnings‑endpointen med IApplicationRateLimiter för att skydda mot spikar. |
| Minnesavtryck | Inga server‑sidiga PDF‑konverteringsbibliotek, så ASP.NET‑processen förblir lätt. | Kör uppladdningstjänsten i en separat mikrotjänst om du redan har en tung bakgrundsjobbkö. |
Genom att följa dessa riktlinjer kan du stödja tusentals samtidiga visare utan att behöva skala .NET‑webblagret mer än vad du redan har.
Viktiga slutsatser
- Doconut App erbjuder en plugin‑fri, 100 % säker visare som fungerar med ASP.NET Core, MVC och WebForms.
- Uppladdningar är endast SSL, lagras med AES‑256‑kryptering och raderas automatiskt efter att den signerade URL:en har gått ut.
- Integration kräver bara ett CDN‑skript, ett container‑
<div>och ett litet server‑sidigt endpoint som returnerar en signerad URL. - Visaren stödjer PDF, Office, CAD och över 50 bildformat—ingen server‑sidig konvertering behövs.
- UI kan fullt anpassas för att matcha företagets varumärke, och visaren erbjuder inbyggd zoom, mätning och lagerverktyg för CAD‑filer.
- Prestanda hanteras på klientsidan; .NET‑utvecklare behöver bara säkerställa statisk filkomprimering och valfri CDN‑cachning.
- Hela arbetsflödet—från säker uppladdning till rendering i webbläsaren—passar smidigt in i befintliga .NET‑autentiserings‑ och auktoriserings‑pipelines.
Vanliga frågor
Q1: Behöver jag installera några NuGet‑paket för att använda Doconut?
A: Nej. Visaren levereras som ett klient‑sidigt JavaScript‑paket från Doconut’s CDN. Din server behöver bara den vanliga ASP.NET Core‑middleware för filuppladdningar och kryptering, vilket du sannolikt redan har.
Q2: Hur säkerställer Doconut att filen raderas efter visning?
A: Doconut genererar en kortlivad signerad URL som går ut efter en konfigurerbar period (vanligtvis fem minuter). Efter att URL:en har gått ut tar du (eller ett bakgrundsrengöringsjobb) bort den krypterade blobben. Detta garanterar att dokumentet inte behålls längre än nödvändigt, vilket uppfyller strikta datalagringspolicyer.
Q3: Kan jag använda visaren för att skriva ut eller exportera dokumentet?
A: Ja. Doconut’s inbyggda verktygsfält innehåller utskrifts‑ och exportalternativ som bevarar originalkvaliteten och layouten på källdokumentet.
Redo att bädda in en säker, plugin‑fri dokumentvisare i din .NET‑applikation? Börja med Doconut App idag och leverera PDF, Office, CAD och dussintals andra format säkert och omedelbart.