PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да разпозная текстов файл от моя компютър с linux чрез django код, без да проверявам разширението му, а също и размера на файла?

Вероятно искате да откриете MIME типа на качването, независимо от разширението на файла, и това често се прави чрез четене на заглавката на файла, за да откриете „магически числа“ или други битови модели, показващи истинската природа на файла. Често текстовите файлове са крайни случаи, където не се открива заглавка и първите x байта са ASCII или Unicode за печат.

Въпреки че това е малко заешка дупка, в която да се потопите, има няколко библиотеки на Python, които ще направят това вместо вас. Например:https://github.com/ahupp/python-magic ще работи за вашите нужди, като просто изведете mime типа според съдържанието на файла, който след това ще сравните с типовете, които искате да приемете.

Донякъде свързан набор от примерен код, специфичен за вашите нужди, може да бъде намерен тук:https://stackoverflow.com /a/28306825/7341881

Редактиране:Решението на Eddie е еквивалентно на функционалност; python-magic обгръща libmagic, което е това, в което влиза собствената команда "file" на Linux. Ако все пак решите да тръгнете по пътя на подпроцеса, бъдете много внимателни, че не създавате уязвимост на сигурността чрез неправилно дезинфекция на въведеното от потребителя (напр. предоставеното от потребителя име на файл). Това може да доведе до атака, предоставяща произволен достъп до средата за изпълнение на вашия сървър.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преглед на серийния псевдотип на данни за PostgreSQL

  2. Актуализирайте таблицата и добавете данни в миграция на Laravel 5

  3. Как мога да кажа на PostgreSQL да не прекъсва цялата транзакция, когато едно ограничение е неуспешно?

  4. Heroku PG:Достъпът за възстановяване на запис е отменен

  5. Как да препоръчате и запазите няколко User_ID в един формуляр и да покажете посочените Id в индекс / Показване на страници на приложението Rails 4