之前在网上也找不到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 =