HTTP multipart/form-data 上传方式说明(有8个注意点)
2021-07-05 00:06
标签:user com 数据 部分 str live view pac 之间 ( From: http://home.meegoq.com/home-space-do-blog-uid-17-id-81.html ) 已有 123 次阅读 2010-12-1 11:13 |个人分类:网络学习|关键词:HTTP multipart http上传文件方面的功能使用的协议是rfc1867 (http://www.ietf.org/rfc/rfc1867.txt) 为 http 协议。客户端的浏览器,如 Microsoft IE, Mozila, Opera 等,按照此规范将用户指定的文件发送到服务器。服务器端的网页程序,如 php, asp, jsp 等,可以按照此规范,解析出用户发送来的文件。Microsoft IE, Mozila, Opera 已经支持此协议,在网页中使用一个特殊的 form 就可以发送文件。绝大部分 http 服务器,包括 tomcat ,已经支持此协议,可接受发送来的文件。各种网页程序,如 php, asp, jsp 中,对于上传文件已经做了很好的封装。 请求报文头如下,每一行后面如果没有标明字符,说明其后没有任何字符,直接连着下一行的字符: POST /handset/save HTTP/1.1 \r\n Host: gateway.ereneben.com \r\n Accept: */* \r\n User-Agent: T1 HTTP Adaptor \r\n Connection: Keep-Alive \r\n User-Serial: 1234567890ABCDEFGHIJKLMC \r\n User-Cert: Q+XuG7315JEIzRw9atIvjhCv0d8+4CN5ZGLZWBPs+1FjUcl5Bijd859rG4BUbIJrjoK2dbEuMMC8XmFAcuxJ2SSyXMty63iu0tnhsCJhgPmo4bFV0Px+V9CwKLixNa/+7bX2t3sCz7TMPfrYlKECF3xm4rB9q9/6htFKxCv99q4= \r\n User-ID: 122 \r\n Content-Type: multipart/form-data; boundary=--------------------------7d93b91e2404d① \r\n Content-Length: 299⑦ \r\n \r\n -----------------------------7d93b91e2404d② \r\n Content-Disposition: form-data; name="update1"; filename="/Storage Card/eben.txt" \r\n Content-Type: application/octet-stream; charset=GBK \r\n Content-Transfer-Encoding: binary \r\n \r\n③ CkAtom C++ Class Reference (Visual C++) \r\n④ -----------------------------7d93b91e2404d --⑤ \r\n⑥ 说明: ①Content-Type必须指定boundary。其中前面的"---------------------------7d"是 IE 特有的标志。其后的字符串"7d93b91e2404d"是随机生成的字符串。Boundary是文件上传时表单中文件分割线。 ②请求报文体中的分割线 "-----------------------------7d93b91e2404d" 比boundary=---------------------------7d93b91e2404d 中的分割线前面多"--"。 ③表单中上传文件的请求头和文件数据之间的分割符是"\r\n \r\n"。与HTTP请求报文头与报文体之间的分割符相同。 ④上载文件结尾需要追加分割符"\r\n"。 ⑤最后一个文件结尾的分割线"-----------------------------7d93b91e2404da--",即boundary之前和结尾都需要追加"--"。最后一个分割线比较特殊,注意不要忘记后面的"--"。 ⑥最后请求报文结尾需要追加分割符"\r\n"。 ⑦ 最后需要注意的是请求报文头中的Content-Length参数的值是整个报文体的长度。即从分割线②第一个字符开始,到报文结尾分割 符"\r\n"为止的整个长度。注意不要漏掉计算报文结尾分割符"\r\n"的长度,否则Content-Length参数的值变为了297, 就会出错。 以上注意事项都必须遵守,否则请求就会出错。 http://www.chongchonggou.com/g_92052682.html HTTP multipart/form-data 上传方式说明(有8个注意点) 标签:user com 数据 部分 str live view pac 之间 原文地址:http://www.cnblogs.com/findumars/p/7108005.htmlHTTP multipart/form-data 上传方式说明
上一篇:JS 对文本框指定焦点差入值
文章标题:HTTP multipart/form-data 上传方式说明(有8个注意点)
文章链接:http://soscw.com/index.php/essay/101921.html