前言
本文使用Ant Design Vue 4进行自定义文件上传的操作,文件上传使用的是阿里OSS。
单图片上传
ImgUploadSingle.vue
1 | <template> |
其中
自定义上传要设置customRequest
上传状态的变化和change
事件的状态是完全对应的
开始上传
开始上传的时候,返回的状态是info.file.status === 'uploading'
上传进度
每次调用options.onProgress(80)
的时候,返回的状态依旧是uploading
,同时可以获取进度
1 | console.info(info.event || 0) |
上传成功
上传成功的话,返回的状态是done
,options.onSuccess('https://www.psvmc.cn/head.jpg')
传入的参数可以通过下面的方式获取
1 | console.info(info.file.response) |
封面图我们可以获取文件的Base64,也可以直接使用成功传入的地址
1 | function getBase64(img: Blob, callback: (base64Url: string) => void) { |
上传失败
上传失败返回的状态是error
,options.onError('上传失败')
传入的参数可以通过下面的方式获取
1 | console.info(info.file.error) |
多图片上传
ImgUploadMuti.vue
1 | <template> |
单视频上传
VideoUploadSingle.vue
1 | <template> |
阿里OSS上传
npm安装
1 | npm install ali-oss --save |
示例
这里通过临时凭证进行文件上传
1 | import { apiCustomGetSts } from '@/assets/api/common_api.js' |