私はDjangoのEメールフォームクラスをFileFieldで書いています。アップロードされたファイルのMIMEタイプをチェックしてそのタイプのファイルをチェックしたいと思います。その後、ファイルタイプをpdfs、word、およびopen officeのドキュメントに限定したいと考えています。Djangoフォームのクリーンメソッドでファイルタイプを確認するにはどのように魔法を使用しますか?
このためには、私のpython-魔法をインストールしているとのpython-魔法のための仕様ごとに、次のようにファイルの種類をチェックしたいと思います:
mime = magic.Magic(mime=True)
file_mime_type = mime.from_file('address/of/file.txt')
しかし、最近アップロードされたファイルは、私のサーバー上のアドレスを欠いています。私はまた、ファイルの内容を与えられたMIMEタイプをチェックする "from_file_content"に似たmimeオブジェクトのメソッドについても知らない。
Djangoのフォームでアップロードされたファイルのファイルタイプを確認するために魔法を使用するための効果的な方法は何ですか?
ありがとう、cleaned_dataでこれを試してみると、Djangoは/tmp/filename.docファイルが定義されていないことに注意しています。なぜアイデアはありますか? – dangerChihuahua007
途中でファイルがメモリに読み込まれます。そして、私は一時的なパスで直接演奏することを避けることを好みます。 – Stan
@Chi曽は、サーバーがメモリ不足のためにクラッシュしたときに、あなたがこれまで問題に直面したビューやフォームのコード –