基于react+antd +华为云OBS,写上传+图片预览

之前在网上也找不到Web具体实行OBS上传的代码,自己试着写了一下,感觉也还行,仅供参考,话不多说上代码

import * as React from "react";
import { Upload, Button, Icon, message, Modal } from "antd";
import "./uploads.less";

export default class UploadData extends React.Component<any, any> {
  constructor(props: any) {
    super(props);
    this.state = {
      loading: false,
      uploadData: {},
      fileList: [],
    };
  }
  componentDidMount() {
  }
  // 上传前的检验,指定上传类型,判断大小等
  beforeUpload = async (file, fileList) => {
    await this.getFileData();
    return new Promise((resolve, reject) => {
      if (file?.size > 1024 * 1024 * 1024) {
          message.error("请上传1G以内的文件");
          return reject(false);
        }
      
      return resolve(true);
    });
  };

  getFileType = (obj) => {
    let fileType = "Other";
    let mimeTypes = obj.type && obj.type.split("/")[0];
    if (mimeTypes === "image" || mimeTypes === 'Pic') {
      fileType = "Pic";
    } else if (mimeTypes === "video") {
      fileType = "Video";
    } else if (mimeTypes === "audio") {
      fileType = "Audio";
    }
    return fileType;
  };
  // 重点-上传方法
  upload =
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值