本文主要介紹如何javascript
默認讀者對vue框架和阿里雲oss有必定的瞭解
總體的流程是加載好阿里雲sdk -> 初始化上傳客戶端client -> 等待文件選擇 -> 文件選擇進行上傳 -> 分發上傳結果
能夠直接複製代碼使用,也能夠npm 組件地址css
npm 使用
$ npm i vue-oss-uploader
vue中引用html
// main.js 安裝插件 import vueOssUploader from 'vue-oss-uploader' import 'vue-oss-uploader/npm/static/css/vue-oss-uploader.min.css' Vue.use(vueOssUploader)
具體的配置項請查看組件配置項vue
名稱 | 意義 | 類型 | 默認值 | |||
---|---|---|---|---|---|---|
debug | 是否開啓debug模式 | Boolean | false | |||
path | 保存的路徑 | String | 空字符串 | |||
nameMode | 文件名方式 | Number | 1(1隨機名稱,2默認名稱,3自定義名稱) | |||
name | 自定義名稱內容,當nameMode爲3時生效 | String | 空字符串 | |||
fileType | 文件類型 | String | 默認img(會校驗文件的後綴,校驗正則爲/.(png | jpe?g | gif | svg)(?.*)?$/),暫時不支持其餘值 |
fileSuffix | 文件後綴 | String | 空字符串(當本項不爲空時表示只支持本後綴的文件上傳) | |||
keySet | 阿里雲配置項 | Object | 詳見配置項解釋 |
名稱 | 意義 | 類型 | 默認值 |
---|---|---|---|
key | 阿里雲的accessKeyId | String | 空字符串 |
secret | 阿里雲的accessKeySecret | String | 空字符串 |
bucket | 阿里雲的bucket | String | 空字符串 |
region | 阿里雲所在區域 | String | shanghai |
名稱 | 說明 | 參數 |
---|---|---|
error | 錯誤事件 | msg |
success | 上傳成功,返回路徑和拼接的url | {ossPath,ossUrl} |
<!-- html中使用 --> <vueOssUploader :path="path" :debug="true" :name-mode="nameMode" :keySet="keySet" :name="name" v-on:success="uploaded" @error="showError"></vueOssUploader>
使用過程當中我碰到如下的坑:java
能夠直接在html裏面加上script標籤node
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.3.0.min.js"></script>
組件裏我包裝了一個異步獲取sdk的方法LoadJS,感興趣的能夠看一下
let timer = setInterval(() => { if (window.OSS) { this.init() clearInterval(timer) timer = null this.debug && window.console.log('阿里雲oss初始化完成') } else { this.debug && window.console.log('阿里雲oss初始化中...') } }, 500)
有什麼問題或者疑問,請在下方評論或者在github上提issue均可以git