1 如何上传,
var input = document.querySelector('input[type="file"]')
var data = new FormData()
data.append('file', input.files[0])
data.append('user', 'hubot')
fetch('/avatars', {
method: 'POST',
body: data
})
2 在fetch源码中;初始化header的时候,有如下源码
if (!headers.has('content-type') && options.body && typeof options.body.getBoundary === 'function') {
headers.set('content-type', 'multipart/form-data; boundary=' + options.body.getBoundary());
}
里面的options.body就是上面的body:data;
3 问题:
这里面的options.body.getBoundary哪里来的?
options.body.getBoundary你可以自己定义,你的代码没有自定义这个方法。boundary一般是个分隔符,用来分隔多个文件或者表单项,