要上传图片到七牛,或者有多组图片需要上传到七牛,应该怎么做?
const beforeShopUpload = (file, shopImg)=>{
const {token} = this.props;
this.setState({shopIcon:[]});
const {shopIcon} = this.state;
要获取token.
getQiniuToken = () => {
const { dispatch, token } = this.props;
if (token) { return; }
dispatch({
type: 'shop/getQiniuToken',
payload: "bucket_name",
});
};
const handleChange1 = ({ file, fileList: fl }) => {
if (file.status === 'done') {
fl[fl.length - 1].url = baseURL + file.response.hash;
} else if (file.status === 'error') {
fl.pop();
message.error('上传失败');
this.getQiniuToken();
}
this.setState({ shopIcon: [...fl] });
};
const UploadShopProps = {
action: 'http://up.qiniu.com',
name: "file",
listType: "picture-card",
data: { token },
beforeShopUpload,
onChange: handleChange1,
fileList: this.state.shopIcon,
};
const uploadButton = (
<div>
<Icon type="plus" />
<div className="ant-upload-text">店铺图片</div>
</div>
);
render里面:
<Upload {...UploadShopProps}>
{this.state.shopCode.length >= 1 ? null : uploadButton}
</Upload>