代码之家  ›  专栏  ›  技术社区  ›  Joe Holloway

空字节和多部分/表单数据的后果是什么?

  •  0
  • Joe Holloway  · 技术社区  · 16 年前

    第三方正在向我们发送一个平面文件,该文件应该只包含可打印的ASCII字符。然而,我们发现有大约50个 0x00 文件中间的字节。

    我们希望能够将文件上载到我们的Web应用程序,但我发现Django似乎不喜欢多部分/表单数据中的空字符。如果删除空字符,则上载成功。(抱歉,目前没有可用的堆栈跟踪,但必要时将生成一个堆栈跟踪)

    我们可以预先处理文件以删除空字符和/或与第三方合作修复其文件生成器,但我不想留下这样的神秘问题。

    这听起来像是Django中的一个bug,还是我不完全理解多部分/表单数据的某些方面?我是否需要设置某种类型的传输编码,以便Django不会挂断空字符?

    1 回复  |  直到 16 年前
        1
  •  0
  •   bobince    16 年前

    不,表单数据不需要传输编码(或者浏览器曾经使用过)。在多部分/表单数据值中包含50个空字节的运行是完全有效的…事实上,鉴于大多数二进制文件包含大量空值,这种情况应该经常出现,而不是文件上载!

    这让我怀疑这是否真的是一个django bug,或者是否有其他事情发生。让我们来看看StackTrace!

    推荐文章