上传前,确定传入的是文件对象(对象内包含name、size等属性),否则不成功。
原理:window.FormData()
首先有一个文件对象的数组 fileList ,第一项是我们的目标文件
const formData = new window.FormData()
formData.append('file', fileList[0])
若有参数,可同样使用append方法,如:
const formData = new window.FormData()
formData.append('file', fileList[0])
formData.append('type', type)
假设我们用 fetch ,
// 举个栗子
const fileList = [
{
name: '我是文件名',
type: '文件类型',
size: 54212,
...
}
]
const formData = new window.FormData()
formData.append('file', fileList[0])
formData.append('type', type)
// 上傳文件
fetch('/upload-management/upload', {
method: 'POST',
body: formData // 文件对象直接放在请求体body中
}).then((res) => {
if (!res.resultCode) {
// 0 成功
message.success('上傳成功')
// TODO....
} else {
// 不是0 失敗
message.error('上傳失敗,請重試')
}
this.setState({
addLoading: false
})
})