เพิ่มตัวดูเอกสารในแอป ASP.NET ของคุณเอง
1/8/2566

เพิ่มตัวดูเอกสารในแอป ASP.NET ของคุณเอง

คุณเคยเปิดไฟล์ที่นี่ การใส่เรนเดอร์เดียวกันลงในแอป ASP.NET ของคุณเองเปลี่ยนแปลงสิ่งเดียวที่สำคัญ: ที่ที่เอกสารไป

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

ASP.NET ตัวดูเอกสาร
ASP.NET ตัวดูเอกสาร

สิ่งเดียวที่เปลี่ยนแปลง: ที่ที่ไฟล์ไป

ที่นี่ คุณอัปโหลดเอกสารให้เรา มันจะทำการเรนเดอร์และจะถูกลบเมื่อคุณปิดมัน นี่เป็นการแลกเปลี่ยนที่เหมาะสมสำหรับไฟล์ที่คุณได้รับครั้งเดียวและต้องการอ่านตอนนี้

แต่ไม่เหมาะกับเอกสารที่คุณไม่ได้เป็นเจ้าของให้ย้าย เช่น บันทึกทางการแพทย์, สัญญาที่ลงนาม, แบบแปลนที่อยู่ภายใต้ 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.