簡體   English   中英

如何檢查文件是否為有效的PDF文件

[英]How to check if a document is a valid PDF document

我正在創建一個應用程序,其中用戶可以在服務器上上傳不同類型的文檔。 我正在驗證不同類型的文檔,例如jpeg,jpg,PNG,TIF,TIFF,GIF,BMP,ICO。

 Dictionary<string, byte[]> imageHeader = new Dictionary<string, byte[]>();
    imageHeader.Add("JPG", new byte[] { 0xFF, 0xD8, 0xFF, 0xE0 });
    imageHeader.Add("JPEG", new byte[] { 0xFF, 0xD8, 0xFF, 0xE0 });
    imageHeader.Add("PNG", new byte[] { 0x89, 0x50, 0x4E, 0x47 });
    imageHeader.Add("TIF", new byte[] { 0x49, 0x49, 0x2A, 0x00 });
    imageHeader.Add("TIFF", new byte[] { 0x49, 0x49, 0x2A, 0x00 });
    imageHeader.Add("GIF", new byte[] { 0x47, 0x49, 0x46, 0x38 });
    imageHeader.Add("BMP", new byte[] { 0x42, 0x4D });
    imageHeader.Add("ICO", new byte[] { 0x00, 0x00, 0x01, 0x00 });

我也想對pdf,docx,excel,PPT做同樣的事情。 請幫助我找到這些文檔的十六進制代碼。

如果有人試圖上傳無效的文檔,我也想驗證損壞的文檔。

libmagic是此類庫。 它在現代Unix系統中位於file命令的后面。 您可以通過FFI /綁定使用它,也可以僅查看其魔數數據庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM