คุณเคยลากไฟล์ลงบนเว็บไซต์นี้เพื่ออ่านมันอยู่แล้ว ในบางครั้งคนอื่นอาจถามว่า สิ่งเดียวกันนั้นสามารถทำงานภายในแอปพลิเคชันที่คุณพัฒนาขึ้นได้หรือไม่ — เช่น ไฟล์คดี, การเคลม, แบบแปลน ที่เปิดในหน้าเว็บของคุณเองแทนการดาวน์โหลดได้หรือไม่ คำตอบคือทำได้ และการตัดสินใจนั้นเล็กกว่าที่คิด เพราะมีเพียงสิ่งเดียวที่เปลี่ยนแปลงจริง ๆ

สิ่งเดียวที่เปลี่ยนแปลง: ที่ที่ไฟล์ไป
ที่นี่ คุณอัปโหลดเอกสารให้เรา มันจะทำการเรนเดอร์และจะถูกลบเมื่อคุณปิดมัน นี่เป็นการแลกเปลี่ยนที่เหมาะสมสำหรับไฟล์ที่คุณได้รับครั้งเดียวและต้องการอ่านตอนนี้
แต่ไม่เหมาะกับเอกสารที่คุณไม่ได้เป็นเจ้าของให้ย้าย เช่น บันทึกทางการแพทย์, สัญญาที่ลงนาม, แบบแปลนที่อยู่ภายใต้ NDA — สิ่งเหล่านี้ไม่สามารถออกจากโครงสร้างพื้นฐานของคุณได้ และการสัญญาว่าจะลบไฟล์ก็ไม่ช่วยอะไร เพราะไฟล์ยังคงเคลื่อนที่อยู่ การฝังเรนเดอร์กลับด้านทำให้เอกสารถูกเปิดโดยเซิร์ฟเวอร์ของคุณ ภายในเครือข่ายของคุณ และสิ่งที่ส่งถึงเบราว์เซอร์คือการเรนเดอร์เท่านั้น ไฟล์จะไม่เคยเคลื่อนที่
นี่คือเหตุผลที่ต้องฝังมัน ทุกอย่างอื่นเป็นรายละเอียดเล็กน้อย
มันเป็นคอมโพเนนต์ ไม่ใช่วิดเจ็ต
สิ่งที่คนมักเข้าใจผิดแรกคือ: นี่ไม่ใช่ JavaScript ที่เปิดไฟล์ในเบราว์เซอร์ แต่มันเป็นคอมโพเนนต์ .NET ดั้งเดิมที่คุณอ้างอิงจากโปรเจกต์ของคุณ และการเรนเดอร์เกิดขึ้นบนเซิร์ฟเวอร์ หน้าเว็บของคุณจะได้รับผลลัพธ์
ผลลัพธ์สองประการตามมา สิ่งที่ดี: เบราว์เซอร์ไม่ต้องติดตั้งอะไร — ไม่ต้องมีปลั๊กอิน, ไม่ต้องมี ActiveX, ไม่ต้องมีรีดเดอร์ — ดังนั้นจึงทำงานได้เช่นเดียวกันบนเดสก์ท็อปที่ถูกล็อกดาวน์หรือบนโทรศัพท์ สิ่งที่ต้องวางแผน: เซิร์ฟเวอร์ของคุณทำงานนี้ ดังนั้น PDF 200 หน้าและแบบแปลน 40 MB จึงไม่ใช่คำขอเดียวกัน จัดสรรเครื่องให้พอรับไฟล์ที่ใหญ่ที่สุดที่คุณยอมรับได้ และปฏิเสธไฟล์ที่ใหญ่กว่านั้นที่อัปโหลดเข้ามา
สิ่งที่คุณต้องตัดสินใจก่อนเริ่ม
สามคำถามที่ไม่ได้เกี่ยวกับตัวดูเลย:
- เอกสารมาจากที่ไหน — ฐานข้อมูล, แฟ้มแชร์, ที่เก็บ blob?
- ใครได้รับอนุญาตให้ดูเอกสารนี้ และ URL ของตัวดูบังคับอย่างนั้นหรือแค่สมมติ? จุดเชื่อมต่อการเรนเดอร์ที่ตอบสนองต่อใครก็ได้ที่มี ID ของเอกสารเป็นช่องโหว่คลาสสิก
- ไฟล์ชั่วคราวที่การแสดงผลสร้างขึ้นจะเกิดอะไรขึ้น และเมื่อไหร่
ตอบคำถามเหล่านี้แล้วการผสานรวมก็สั้น ๆ หากปล่อยไว้สำหรับภายหลัง คุณจะต้องเพิ่มการอนุญาตให้กับตัวดูที่ทำงานแล้ว ซึ่งยิ่งแย่กว่า
ที่ที่มันทำงาน
.NET Framework 4.0 ขึ้นไปและ .NET Standard 2.0 ขึ้นไป — จึงรองรับ WebForms, MVC, ASP.NET Core, Blazor Server และคอนเทนเนอร์ Linux Office ไม่จำเป็นต้องติดตั้งบนเซิร์ฟเวอร์; เรนเดอร์อ่านรูปแบบไฟล์โดยตรง
หากคุณต้องการอ่านไฟล์เดียวในวันนี้ นั่นคือสิ่งที่ PDF ตัวดู และตัวดูอื่น ๆ ที่นี่ให้บริการ หากคุณกำลังคิดถึงแอปพลิเคชันของคุณเอง คอมโพเนนต์, แพ็กเกจและเอกสาร API อยู่ที่ Doconut.com.