首先进行安装
npm install cos-js-sdk-v5
下面是讲http与其结合 封装的js多次可使用
import COS from 'cos-js-sdk-v5'
// 封装http请求
function http ({
method = 'get',
url,
params,
data
}) {
return new Promise((resolve, reject) => {
let request = new XMLHttpRequest()
request.onreadystatechange = function () {
if (request.readyState === 4) {
if (request.status === 200) {
try {
let json = JSON.parse(request.responseText)
resolve(json)
} catch (error) {
resolve(request.responseText)
}
} else {
reject(request.status)
}
}
}
// 处理查询参数 get方式的一些乱码
if (params) {
let paramsArr = []
for (let key of Object.keys(params)) {
if (!params[key]) continue
let item = encodeURIComponent(key) + '=' + encodeURIComponent(params[key])
paramsArr.push(item)
}
url += `?${paramsArr.join('&')}`
}
request.open(method, url)
// 处理body数据
if (data && typeof data === 'object') {
request.setRequestHeader('content-type', 'application/json')
data = JSON.stringify(data)
}
request.withCredentials = true
request.send(data)
return true
})
}
const fileTypeArr = [
{
suffix: ['mp4', 'mkv', 'avi', 'wmv', 'mpg', 'rmvb', 'mpv', 'flv', 'mov', 'ts', 'm4v'],
file_type: 1,
file_type_name: '视频'
},
{
suffix: ['mp3', 'aac', 'wav', 'wma', 'flac', 'cda', 'ape'],
file_type: 2,
file_type_name: '音频'
},
{
suffix: ['xls', 'xlsx', 'doc', 'docx', 'ppt', 'pptx', 'htm', 'pdf', 'txt', 'xps', 'csv'],
file_type: 3,
file_type_name: '文档'
},
{
suffix: ['zip', 'rar', 'iso', '7z', 'gz', 'gzip'],
file_type: 4,
file_type_name: '压缩包'
},
{
suffix: ['png', 'jpg', 'bmp', 'jpeg', 'gif', 'webp'],
file_type: 5,
file_type_name: '图片',
prompt: '请选择小于4M的图片',
size: 4 * 10