利用腾讯云cos做文件服务器,配合element-ui的upload组件实现。
腾讯cos上传主要分为三个步骤
- 设置文件存储位置并返回上传文件地址
- 将文件转化为二进制流
- 通过二进制流进行文件上传
设置文件存储位置
通过生成guid保证上传的文件不会被覆盖
function guid() {
function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
return S4() + S4() + S4() + S4() + S4() + S4() + S4() + S4();
}
设置并获取cos文件存储路径
_axios
.get(url + "?path=" + guid())
.then(data => {
const uploadUrl = data;
// TODO 上传文件
});
将文件转化为二进制流
主要利用FileReader实现。
let fr = new FileReader();
fr.readAsDataURL(file);
fr.addEventListener(
"load",
() => {
let arr = fr.result.split(",");
let bstr =