2013-07-24 32 views

回答

3

的文件擴展名是無關聯的內容發現這種類型轉換的文件

的,它只是一個預處理文件的前幾位以查看它是什麼。 (然後,如果您可以從中確定類型,則可以繼續使用該文件的解析代理)。

例如:

  • 映像文件可以使用ÿØÿà[NUL][DLE]JFIF作爲其起始位開始。
  • PDF可以與%PDF-
  • 壓縮文件可以用根據壓縮算法PKRar!或其它變化開始開始。

我能說的最好的事情就是嘗試通過System.Drawing.Image運行文件。如果它實際上是一個圖像,解析器將不會窒息。如果不是,你會得到某種例外,你知道它不是圖像,或者是,並且是不正常的(有害的)。

順便說一句(因爲這是一種煩我)說:「我們知道,如果我們創建了一個簡單的記事本文件,更改擴展到jpeg將文本文件轉換成JPEG文件」不完全真正。你所做的只是指定默認的應用程序來打開文件。一個名爲.jpg.png甚至.xyz的文本文件仍然是一個文本文件,它不再使用記事本(或默認設置)來打開它。

相關問題