使用Django的FileField上传文件,当我未处理文件,直接返回响应信息的时候,会出现错误。
我用wireshark进行抓包发现, 当我进入views函数处理请求到我return response的时候,文件并未完整的上传到服务器,而我返回response,Django会关闭连接,而服务器会继续上传文件,这时候服务器会返回一个tcp rst导致连接错误,浏览器也就出错。
如果我在views中事先访问request.FILES这样就ok,因为通过访问request.FILES可以让文件百分之百的上传到服务器中。
这样怎么解决呢?
正常现象。HTTP 是一来一回的,请求没读完不要回复响应。如果你不需要读取所有数据就能回复响应也不行,乖乖读完所有数据吧。