Anda mungkin ingin mendeteksi jenis MIME unggahan terlepas dari ekstensi file, dan itu sering dilakukan dengan membaca header file untuk mendeteksi "angka ajaib" atau pola bit lain yang menunjukkan sifat sebenarnya dari suatu file. Seringkali file teks adalah kasus tepi, di mana tidak ada header yang terdeteksi dan x byte pertama adalah ASCII atau Unicode yang dapat dicetak.
Sementara itu sedikit lubang kelinci untuk menyelami, ada beberapa perpustakaan Python yang akan melakukannya untuk Anda. Misalnya:https://github.com/ahupp/python-magic akan bekerja untuk kebutuhan Anda hanya dengan menyimpulkan jenis mime per konten file, yang kemudian akan Anda cocokkan dengan jenis yang ingin Anda terima.
Serangkaian kode contoh yang agak terkait dengan kebutuhan Anda dapat ditemukan di sini:https://stackoverflow.com /a/28306825/7341881
Sunting:Solusi Eddie setara dengan fungsionalitas; python-magic membungkus libmagic, yang merupakan perintah "file" asli Linux. Jika Anda memutuskan untuk menggunakan rute subproses, berhati-hatilah agar Anda tidak membuat kerentanan keamanan dengan membersihkan input pengguna secara tidak benar (misalnya, nama file yang diberikan pengguna). Hal ini dapat menyebabkan serangan yang memberikan akses sewenang-wenang ke lingkungan runtime server Anda.