@efox/upload-file
Version:
支持所有类型的文件上传到腾讯云,上传完成上报文件MD5、类型、URL、项目名称、用户uid
86 lines (76 loc) • 2.19 kB
Markdown
# efox上传文件插件
支持所有类型的文件上传到腾讯云,上传完成上报文件MD5、类型、URL、项目名称、用户uid
## 安装
```js
yarn add @efox/upload-file
```
### 全局注册
```js
import efoxUploadFile from '@efox/upload-file'
Vue.use(efoxUploadFile, {
env: '',
uid: '',
projectName: '',
serverOrigin: '',
defaultName: false,
copy: true
})
```
参数 | type | 默认值 | 说明
----- | ---- | ---- | ---
evn | String | production | 环境 'production', 'development'
uid | String | '' | 用户uid
projectName | String | '' | 项目名称,会拼接到文件path上面,上传会验证 uid 是否有 projectName 权限,没有权限上传会失败
serverOrigin | String | https://static.moschat.com | 显示上传完成文件地址 origin
defaultName | Boolean | false | 上传时文件名输入框默认使用的名称,false 使用 uuid 生成文件名,true 使用源文件名
copy | Boolean | false | 上传完成是否显示复制链接按钮
### 局部注册
```js
import { EfoxUploadFile } from '@efox/upload-file'
export default {
components: {
EfoxUploadFile
}
}
```
### 设置默认值
```js
import { setConfig } from '@efox/upload-file'
setConfig({
env: '',
uid: '',
projectName: '',
serverOrigin: '',
defaultName: true,
copy: false
})
```
### 使用组件
```js
<efox-upload-file
projectName="moschat"
uid="1001"
serverOrigin="https://www.moschat.com"
:defaultName="true"
:copy="true"
@success=onSuccess
></efox-upload-file>
```
### 文件上传完成回调 $emit('success'),参数结构如下
```js
const payload = {
cloudData: {
ETag: "\"7259c10192786138b99fddc6a5c964f7\"",
Location: "dianhu-1253537286.cos.eu-moscow.myqcloud.com/efoxfile/moschat/dota2skin_2.mp4",
headers: {
etag: "\"7259c10192786138b99fddc6a5c964f7\""
},
statusCode: 200
},
fileName: "/efoxfile/moschat/dota2skin_2.mp4"
md5: "7259c10192786138b99fddc6a5c964f7"
size: 1444852
originUrl: "https://dianhu-1253537286.cos.eu-moscow.myqcloud.com/efoxfile/moschat/dota2skin_2.mp4" // 腾讯云源地址
url: "https://static.moschat.com/efoxfile/moschat/dota2skin_2.mp4"
}
```