vue3中如何上传文件到腾讯云的桶(cosbrowser)

1.前提条件

要有腾讯云的账号(SecretId和SecretKey)和有存储文件的桶

2.引入插件

在入口文件index.html中引入

javascript 复制代码
<script src="https://up-load.obs.cn-south-1.myhuaweicloud.com/cos-js-sdk-v5.min.js"></script>

3.使用

javascript 复制代码
// 上传到腾讯云桶
function upLoadFileToCos(file,urlType,userOriginName) { // 参数1:文件对象,参数2:文件类型,参数3:用户自定义文件名
    let timeData = new Date()
    const objectkey = urlType == 1 ? (file.type || 'word') + '/' + completionDay(timeData) + '/' + Date.parse(timeData) + '/' + file.name : userOriginName

    let cos = new COS({ // 创建cos实例
        SecretId: 'AKIDRkqwoV5ScfXBcv1tYAndHh2ILBuSuBLR',
        SecretKey: 'zlcNvMbd5PYTEuTpyx0xgXN1XrAG8GYq',
    });
    cos.putObject( // 上传文件到桶
        {
            Bucket: "1039-files-1329215250" /* 填入您自己的存储桶(存储文件的桶名称),必须字段 */,
            Region: "ap-chongqing" /* 存储桶所在地域,例如ap-beijing,必须字段 */,
            Key: objectkey /* 存储在桶里的哪个文件夹中(例如:file/images/2024-02-09),自己随便定义,必须字段 */,
            StorageClass: "STANDARD", // 不清除,好像是存储分类,照写就行了
            Body: file, // 上传文件对象
            onProgress: function (progressData) { // 上传到桶后的回调函数
                // 上传成功 progressData.percent==1
            },
        },
        (err, data) => { // 上传失败
            console.log("data", data);
        }
    );
}
相关推荐
kyriewen2 分钟前
我用 50 行代码重写了 React Router 核心,终于搞懂了前端路由原理
前端·javascript·react.js
WebInfra1 小时前
Rspack 2.1 发布:React Compiler 提速 10 倍!
前端
李明卫杭州1 小时前
CSS 媒体查询详解:一文掌握响应式设计的核心技术
前端
lichenyang4532 小时前
从 H5 按钮到 OpenHarmony 能力调用:我如何理解 ASCF 的运行链路
前端
下家2 小时前
我放弃了 Vue/React,选择自研框架
前端·前端框架
Asize3 小时前
HTML5 Canvas 基础:从按帧动画到 ECharts 数据可视化
前端·javascript·canvas
默_笙3 小时前
🎄 后端给我一堆扁平数据,我 10 行代码把它变成了树
前端·javascript
Mahut3 小时前
我用 Electron + FFmpeg 做了一个本地视频处理工作站 ClipForge
前端·ffmpeg·electron
前端Hardy3 小时前
又一个 AI 神器火了!
前端·javascript·后端
锋行天下3 小时前
我试图优化 Vite 的拆包,结果首屏慢了 10 倍
前端·vue.js·架构