1
私は私のためにファイルのアップロードを処理するコードの一部を持って、理想的に私は、テキストファイルのみを受け入れるようにしたい(CSV、タブ区切りファイルなど)だから私はこのコードのチャンクを追加しました:ファイルをアプリケーション/オクテットストリームとテキスト/プレーンのどちらにする必要があるかを決めるには?
mimetype = magic.from_buffer(request.FILES['docfile'].read(512), mime=True)
if form.is_valid() and mimetype == 'text/plain':
....
だけ最近、私のユーザーの一人が、テキストファイルをアップロードしようと、システムがそれを拒否し、そのファイルのMIMEは、次のとおりです。以前にアップロードされたファイルの
file --mime-type -b input_file.txt
application/octet-stream
そしてもちろん
、すべてがtext/plainでてきました。これら2つの違いは何ですか?ファイルがテキストファイルであるかどうかを確認する「グローバル」な方法はありますか?
うに受け入れるようにこれを処理する適切な方法をバイナリファイルとテキストファイルの両方?私は技術的に別のMIMEタイプとしてアプリケーション/オクテットストリームを追加することができるので、私はこれを尋ねます –
あなたがそのルートを下ったら、両方を受け入れ、後にそれらをテストする必要があります。私はgtkからMIMEtypes appartについてよく分かりませんが、100%信頼できるとは思われません。 –