http post form-data时content解析

上传文件表单的时候http协议过程

首先在浏览器中采用表单的形式上传文件代码如下

   

       

       

   

由于在http协议中的规定,enctype必须是multipart/form-data,而在file input中的name后续会变为上传的参数,上传的文件名为model.py下面展示在firefox中的请求消息头

 http post form-data时content解析_第1张图片

post的内容如下

 http post form-data时content解析_第2张图片

boundary是用于分割post内容不同文件部分,在内容中我们看到Content-Disposition后面参数中有name以及filename这两个参数就是在input中选择的填写参数,俄日在Content-Type后面就是文件内容。如下图所示分隔符可以分割出不同部分。在flask的request中将参数包裹在其中,传递的所有文件都在request.files中,可以通过request.files[name]来选择不同的file,也可以通过request.files.items()获取一个迭代器。

http post form-data时content解析_第3张图片

表单内容存在文件以及其它数据时post content的内容与上图相似,首先我们来看下面代码

   

       

       

       

       

   

 

在post content中内容如下

 http post form-data时content解析_第4张图片

表单的每个字段都被单独分割开,在flask的request中form存储了这些name与内容,但文件并不在form中存储,而在request.files中存储。

 

转载于:https://www.cnblogs.com/lee88688/p/9093069.html

你可能感兴趣的:(http post form-data时content解析)