nullバイトとマルチパート/フォームデータの影響は何ですか?
-
20-09-2019 - |
質問
サードパーティは、印刷可能なASCII文字のみを含むことになっているフラットファイルを送信しています。しかし、私たちは約50の文字列があることを発見しました 0x00
ファイルの中央のバイト。
ファイルをWebアプリケーションにアップロードできるようにしたいのですが、DjangoがMultiPart/Form-DataのNULL文字が好きではないように見えることがわかりました。 null文字を削除すると、アップロードが成功します。 (申し訳ありませんが、現時点ではスタックトレースを使用できませんが、必要に応じて作成します)
ファイルを前処理してnull文字を削除したり、サードパーティと作業してファイルジェネレーターを修正できますが、このような神秘的な問題を残したくありません。
これはDjangoのバグのように聞こえますか、それとも私が完全に理解していないMultiPart/Form-Dataのいくつかの側面がありますか? Djangoがヌル文字にハングアップしないように、ある種の転送エンコードを設定する必要がありますか?
解決
いいえ、Form-Dataで転送エンコードは必要ありません(またはブラウザで使用されています)。 MultiPart/Form-Data値に50 Nullバイトの実行を含めることは完全に有効です...実際に、ほとんどのバイナリファイルに多くのヌルが含まれていることを考えると、ファイルのアップロードではないように状況が頻繁に発生するはずです!
それは、それが本当にジュンゴのバグなのか、それとも他のことが起こっていないのかどうかを疑問視させます。そのスタックトレースを持ってみましょう!
所属していません StackOverflow