2013-04-05 159 views
3

我需要有能力上傳文件在服務器上,但上傳之前我想驗證此文件是否這個文件是和圖像或腳本名爲image.jpeg。 對於這個我使用了一個名爲python-magicDjango文件上傳

import magic 

attachment = request.FILES['file'].read() 
m = magic.open(magic.MAGIC_MIME_TYPE) 
m.load() 
ft = m.buffer(attachment) 
m.close() 

它爲我工作的罰款庫。但是我應該閱讀整個文件嗎?

attachment = request.FILES['file'].read() 

我認爲這是一個壞主意,所以我的問題是多少文件權重頭?所以比我只能讀取幾個字節並驗證MIME類型的文件。

回答

1

您可以首先使用mimetype模塊來猜測mimetype,建議使用here。如果您確信猜測,請將文件上傳到您的網絡服務器。如果您以後要訪問該文件,則可以使用您提供的源代碼進行整個檢查,因爲無論如何您都必須閱讀該文件。