Dodaj przeglądarkę dokumentów do własnej aplikacji ASP.NET
1.08.2023

Dodaj przeglądarkę dokumentów do własnej aplikacji ASP.NET

Otwierałeś tutaj pliki. Umieszczenie tego samego renderera w własnej aplikacji ASP.NET zmienia jedną istotną rzecz: gdzie trafia dokument.

Zrzucałeś pliki na tej stronie, aby je przeczytać. W pewnym momencie ktoś pyta, czy to samo można umieścić wewnątrz aplikacji, nad którą pracujesz — akt sprawy, roszczenie, rysunek, otwierane na własnej stronie zamiast pobierania. Można, a decyzja jest mniejsza, niż się wydaje, ponieważ tylko jedna rzecz naprawdę się zmienia.

PRZEGLĄDARKA DOKUMENTÓW ASP.NET
PRZEGLĄDARKA DOKUMENTÓW ASP.NET

Jedna rzecz, która się zmienia: gdzie trafia plik

Tutaj przesyłasz nam dokument, jest on renderowany i zostaje usunięty po zamknięciu. To właściwa wymiana dla pliku, który został Ci jednorazowo wysłany i chcesz go teraz przeczytać.

To niewłaściwa wymiana dla dokumentu, którego nie możesz przenosić. Rekord medyczny, podpisana umowa, rysunek objęty NDA — nie mogą one opuścić Twojej infrastruktury, a żadna obietnica usunięcia tego nie naprawi, ponieważ plik i tak został przetransportowany. Osadzenie renderera odwraca sytuację: dokument jest otwierany przez Twój serwer, wewnątrz Twojej sieci, a to, co dociera do przeglądarki, to renderowanie. Plik nigdy się nie przemieszcza.

To jest powód, dla którego warto osadzić. Wszystko inne to szczegóły.

To komponent, a nie widżet

Część, którą ludzie najpierw mylnie rozumieją: to nie jest JavaScript otwierający plik w przeglądarce. To natywny komponent .NET, który odwołujesz w swoim projekcie, a renderowanie odbywa się po stronie serwera. Twoja strona otrzymuje wynik.

Z tego wynikają dwie konsekwencje. Dobra: przeglądarka nie instaluję nic — żadnych wtyczek, ActiveX ani czytnika — więc działa tak samo na zabezpieczonym komputerze, jak i na telefonie. Do zaplanowania: Twój serwer wykonuje pracę, więc 200‑stronicowy PDF i rysunek o wielkości 40 MB to nie to samo żądanie. Dobierz maszynę pod największy plik, który zamierzasz akceptować, i odrzucaj większe przy przesyłaniu.

Co musisz zdecydować przed rozpoczęciem

Trzy pytania, i żadne z nich nie dotyczy przeglądarki:

  • Skąd pochodzą dokumenty — baza danych, udostępniony plik, magazyn blob?
  • Kto może zobaczyć ten dokument, i czy URL przeglądarki wymusza to, czy po prostu zakłada? Punkt końcowy renderowania, który odpowiada każdemu z identyfikatorem dokumentu, jest klasyczną luką.
  • Co dzieje się z plikami tymczasowymi, które tworzy render, i kiedy.

Odpowiedz na nie, a sama integracja będzie krótka. Odłóż je na później, a będziesz dopasowywać autoryzację do przeglądarki, która już działa, co jest gorsze.

Gdzie działa

.NET Framework 4.0 i nowsze oraz .NET Standard 2.0 i nowsze — więc WebForms, MVC, ASP.NET Core, Blazor Server i kontenery Linux. Office nie musi być zainstalowane na serwerze; renderer odczytuje formaty bezpośrednio.

Jeśli dziś chcesz tylko odczytać jeden plik, do tego służy przeglądarka PDF oraz pozostałe przeglądarki tutaj. Jeśli chodzi o aplikację, o której myślisz, komponent, jego pakiety i dokumentacja API znajdują się na Doconut.com.