Python Django中的空request.FILES
我正试图通过post请求将文件发送到本地主机上的服务器。我在Firefox中使用HttpRequester(也在Chrome中尝试过Postman,在Android上尝试过Tasker)来请求sumbit。 问题是Python Django中的空request.FILES,python,django,forms,post,Python,Django,Forms,Post,我正试图通过post请求将文件发送到本地主机上的服务器。我在Firefox中使用HttpRequester(也在Chrome中尝试过Postman,在Android上尝试过Tasker)来请求sumbit。 问题是request.FILES总是空的。但是当我试图打印request.body时,它会显示一些非人类可读的数据,其中特别包括我想要上传的文件中的数据(这是一个数据库)。所以,文件以某种方式到达服务器对我来说是有意义的 来自Django文档: 请注意,只有在请求方法为POST时,文件才会包
request.FILES
总是空的。但是当我试图打印request.body
时,它会显示一些非人类可读的数据,其中特别包括我想要上传的文件中的数据(这是一个数据库)。所以,文件以某种方式到达服务器对我来说是有意义的
来自Django文档:
请注意,只有在请求方法为POST时,文件才会包含数据
而发布到请求的
enctype=“多部分/表单数据”。否则,文件将为空
类似字典的对象
当我试图将请求的内容类型设置为“多部分/表单数据”时,出现错误“多部分中的无效边界:无”。当我加上',一个错误消失了;边界=边界”到内容类型
另一种方法是设置enctype=“多部分/表单数据”
因此,我有几个问题:
多部分/表单数据
,因此必须使用该内容类型
enctype=“multipart/form data”
作为表单元素的参数之一。在HttpRequester中,它更复杂,因为我认为默认情况下它缺少对多部分/表单数据的支持。http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.2有关多部分/表单数据的更多详细信息
,应可以手动在HttpRequester中运行
为什么文件的数据包含在request.body中,而request.FILES为空
你已经回答过了:
请注意,仅当请求方法为POST且发送到请求的方法具有enctype=“multipart/form data”时,文件才会包含数据否则,文件将是一个类似于字典的空白对象。