阿里云OSS上传
一、点击上传按钮直接上传
这种方式相当于自动上传,可以参考antd官网的给的例子
- 首先,后端会提供一个接口,会返回一些上传到OSS需要的类似配置参数(下面的是我们后端同学给返回的参数):
(1) accessId,对应OSSAccessKeyd
(2) policy
(3) signature
(4) host,OSS的上传地址
下面是请求上传OSS的配置数据代码:
getExtraData = file => {
this.setState({
uid: file.uid
})
return {
key: file.uid,
OSSAccessKeyId: this.state.getUploadAccessData.accessid,
policy: this.state.getUploadAccessData.policy,
Signature: this.state.getUploadAccessData.signature,
};
}
- 根据返回的地址(host)请求上传并携带上述参数;
const uploadProps = {
name: 'file',
action: getUploadAccessData.host,
data: this.getExtraData,
showUploadList: false,
onChange(info) {
if (upState === 0) {
message.loading('正在导入..', 0);
}
upState = 1;
if (info.file.status === 'done') {
message.destroy();
message.success('导入成功(重复字段已被自动过滤)');
upState = 0;
_this.fieldImport() //第三步中的请求后端接口
} else if (info.file.status === 'error') {
message.destroy();
message.