构建multipart/form-data实现文件上传
通常文件上传都是通过form表单中的file控件,并将form中的content-type设置为multipart/form-data。现在我们通过java来构建这部分请求内容实现文件上传功能。
一、关于multipart/form-data文件上传本质上是一个POST请求。只不过请求头以及请求内容遵循一定的规则(协议)
请求头(Request Headers)中需要设置 Content-Type 为 multipart/form-data; boundary=${boundary}。其中${boundary}分割线,需要在代码中替换,且尽量复杂,不易重复
请求正文(Request Body)需要使用在 Header中设置的 ${boundary}来分割当前正文中的FormItem,内容格式如下
--${boundary} Content-Disposition: form-data; testCodeUpload --${boundary} Content-Disposition: form-data;;filename="xx.txt" Content-Type: application/octet-stream {{这里写入文件流}} --${boundary}--