contenttype 1.application/x-www-form-urlencoded 请求参数为form-data 以key value的map形式传递 后台以getparameters获取
2.application/json,charset=UTF-8 请求参数为json.stringfy后的json字符串 放在request payload中 后台需要以GSON解析或者放到bean中可以获取
这两种可以使用qs。js来互相转化
3,multipart/form-data
一般form的enctype默认为x-www-form-urlencode
可选为multipart 和text/plain
multipart为一种高效二进制的格式 常用于文件传输
它的request payload 包含多个parts
每个part都定义了 content-disposition 为文件的基本描述 如
--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Content-Disposition: form-data; name="city"
--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Content-Disposition: form-data;name="desc"
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit ...
--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Content-Disposition: form-data;name="pic"; filename="photo.jpg"
Content-Type: application/octet-stream Content-Transfer-Encoding: binary
文件上传在传统的jq和js中
var formdata=new formData(可以直接传form) //var
form = document.getElementById(
'form'
),然后把formdata以参数传递
formdata。append(name,fileObj) //var fileObj = document.getElementById("file").files[0]; // js 获取文件对象
上传时的progress可以通过xhr对象的progress事件监听来实现
也可以用现成封装好的 比如iview的upload 控件
https://www.cnblogs.com/liyongquan/p/8615928.html
2.下载
在跨域请求中前端无法获取请求头,需要后端设置
文件一般需要后台转为blob,没转的话可以参考下面做法