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);
        }
    );
}
相关推荐
乘风gg31 分钟前
还在养虾吗?虾王已诞生:微信龙虾 ClawBot
前端·ai编程·claude
小小小小宇1 小时前
LLM 长期记忆构建
前端
lichenyang4531 小时前
从 Express 老项目到 NestJS + Docker:一次车辆管理系统的渐进式重构
前端
竹林8182 小时前
用 wagmi v2 + viem 监听链上事件,我踩了三天坑终于搞懂了实时日志与历史补全
javascript
Momo__2 小时前
VueUse createReusableTemplate —— 单文件组件内的模板复用神器
前端·vue.js
只一2 小时前
😭从回调地狱到 async/await:一文打通 Ajax 与 JS 异步编程
javascript
程序员小富2 小时前
我开源了一个开发者专属的智能 JSON 工具,得到了媳妇高度认可
前端·vue.js·后端
小小小小宇2 小时前
程序员如何给 LLM 装工具以及看懂推理过程
前端
写代码的皮筏艇2 小时前
React中的forwardRef
前端·react.js·面试
槑有老呆2 小时前
花三个月工资请了个 AI 程序员,结果它连青岛啤酒股价都查不了
前端