Ant Design Upload文件上传功能怎么实现
一、Ant Design Vue文件上传功能
1.文件上传选项框
选择文件 新增 数据导入
效果:


2.js实现代码
//定义的变量
二、Ant Design React文件上传功能
1.文件上传选项框
render() {
const upLoad = {
name: 'files',
action: 'http://192.168.0.102:7072/folder/annex/upload',//文件上传地址
headers: {
authorization: 'authorization-text',
},
onChange: this.handleChange.bind(this),//上传文件改变时的状态
showUploadList: false,//是否展示文件列表
}
const { page, pages, fileType } = this.state;
return (
单击或拖动文件到此区域以上传
,
)
}效果:

2. js实现代码
//点击上传按钮方法
onUpload() {
this.setState({
uploadState: true,
})
}
//文件上传
handleChange(info) {
var fileSize = info.file.size;
if (info.file.status === 'done') {
if (info.file.response.code === 500) {
message.error('上传文件失败');
return
}
let response = info.file.response.res[0];
if (response.suffix == 'xlsx' || response.suffix == 'docx' || response.suffix == 'pdf') {//当文件类型是xlsx,docx,pdf三种格式时
let userid = Number(localStorage.getItem('userid'));
const baseUrl = 'http://192.168.0.123:8889';
const api = '/zhyjxxzhpt/file/upload';
let fd = new FormData();//表单格式
fd.append("userid", userid);//添加userid数据
fd.append("id", response.id);//添加id数据
fd.append("name", response.name);//添加name数据
fd.append("suffix", response.suffix);//添加suffix数据
fd.append("type", response.type);//添加type数据
axios({
url: baseUrl + api,//文件数据保存的地址
method: "post",
data: fd,
headers: {
"Content-Type": "multipart/form-data;boundary=" + new Date().getTime()
}
}).then(res => {
if (res.data.code == 'success') {
message.success(`${response.name} 文件上传成功!`);
}
this.queryPrivate();
})
} else {
message.error(`只能上传xlsx,docx,pdf文件!`);
return false
}
} else if (info.file.status === 'error') {
if (fileSize > 1048576) {
message.error(`${info.file.name}文件大于1M!`);
} else {
message.error(`${info.file.name} 文件上传失败!`);
}
}
}
//点击确定按钮方法
handleOk = e => {
this.setState({
uploadState: false,
});
};
//取消方法
handleCancel = e => {
this.setState({
uploadState: false,
});
};