react + pro-components + ts完成单文件上传和批量上传

上传部分使用的是antd中的Upload组件,具体如下:

GradingFilingReportUpload方法是后端已经做好文件流,前端只需要调用接口即可

单文件上传

<Upload
    key={`upload_${record.id}`}
    showUploadList={false}
    accept=".xlsx"
    maxCount={1}
    customRequest={({ file }) => {
        const formData = new FormData();
        formData.append('id', record.id);
        formData.append('ins', file);
        GradingFilingReportUpload(formData).then(res => {
            if (res.state === 200) {
                message.success(res.message);
            } else {
                message.error('上传失败');
            }
        })
    }}
><a >上传</a></Upload>

多文件上传

页面组件

<Upload
    showUploadList={false}
    multiple
    customRequest={({ file, onSuccess, onError }) => {
        handleRequestAllFile([file]).then(() => onSuccess && onSuccess('上传成功')).catch(() => onError)
    }}
>
    <a >批量上传</a>
</Upload>

js逻辑

    const handleRequestAllFile = async (fileList: any[]) => {
        try {
            const formData = new FormData();
            fileList.forEach((file) => {
                formData.append('ins', file);
            })
            const res = await GradingFilingReportUpload(formData);
            if (res.state === 200) {
                message.success('文件上传成功');
            } else {
                message.error('文件上传失败');
            }
        } catch (e) {
            message.error('文件上传过程出错')
        }
    }

完整页面代码 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦逼的猿宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值