0

第三方向我们发送了一个平面文件,该文件应该包含专门可打印的 ASCII 字符。但是,我们发现0x00文件中间有一个大约 50 字节的字符串。

我们希望能够将文件上传到我们的 Web 应用程序,但我发现 Django 似乎不喜欢 multipart/form-data 中的空字符。如果我删除空字符,则上传成功。(抱歉,我目前没有可用的堆栈跟踪,但如有必要会生成一个)

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

这听起来像是 Django 中的错误,还是我不完全理解的 multipart/form-data 的某些方面?我是否需要设置某种传输编码,以便 Django 不会挂断空字符?

4

1 回答 1

0

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

这让我怀疑它是否真的是一个 Django 错误,或者是否没有其他事情发生。让我们有那个堆栈跟踪!

于 2009-12-17T17:41:55.170 回答