PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara mengenali file teks dari pc linux saya melalui kode Django tanpa memeriksa ekstensinya dan juga ukuran filenya?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Karakter baris baru PostgreSQL

  2. Beri tahu dari pemicu di tabel yang direplikasi pglogical

  3. Bagaimana saya bisa mendapatkan hasil dari entitas JPA yang dipesan berdasarkan jarak?

  4. Rails + PostgreSQL -Menggunakan Suka

  5. Postgres - Kembalikan kesalahan pada pembaruan jika catatan tidak ditemukan