这是跑通的案例

<!DOCTYPE html>
<html>

<head>
    <title>STS令牌上传示例</title>
    <script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
</head>

<body>
    <input type="file" id="fileInput">
    <button onclick="startUpload()">开始上传</button>
    <div id="progress"></div>

    <script>
        let ossClient = null;

        // 初始化OSS客户端(整合用户提供的参数)
        async function initOSSClient() {
            const config = {
                accessKeyId: "STS.NVURuqxBs4sL733iuhwr2X3B",
                accessKeySecret: "22KZa6uhHzgyaiibKXKqdYpcaqyDszNrerCrAFHE4N",
                stsToken: "CAIS6AJ1q6Ft5B2yfSjIr5XgGc/FlZ1HxPaYThGC12kgZPhe3Z2YoDz2IHhMeHVoB+gdv/0yn25Q6Poflqp6U4cdu6J/5kQqvPpt6gqET9frrq7ctM4U6vCMHWyUFGS0vqv7aPn4S9XwY+qkb0u++AZ43br9c0fFPTmiKobbsYN7Sd4VUwKkFxQkYu1bPQx/ssQXGGLMPPK2SH7Qj3HXEVBjt3g+6yN24r/txdaHuFiMzg/oyqoLpoj8Jd24Ytlwe4pkXs2CwfRycaPNy2kSyWATqPkn0PUboGme54vEWQkN2XjcbbqIqO8IBRRie603F5RDqPXBjvBisoTR7d+vk0oRZb8NCHWGGdv+mJWYRfnHLN88cq3gK5gZEwcy0z+fWWoGFpF7XGsiE7JJQvSgV4mtgb70ABsG6YJnE+ayytlkIZtMpb5f5XuGU1QE2bbBjTvXr2j2VHGSgSFMFVoiuUaFFAtudtRmzQ0Pb94agAGWwPm9EuSQqv8uIsHcKwrznWg5cVcvnzFb84Hd7ERLinH9E4g05WRueXfS7UTRm/lAA1DEhpVN+WvV27wNnzDC5YHcc8IY2fxQr0fN0tjfDqEkrQWLMmGeXs8Y3jzSofBllU1+XDnIEPFyUULffXng2U/qEnsI/hGK3//Pz59myAA",
                bucket: 'zh-video-text',
                region: 'oss-cn-guangzhou'
            };

            ossClient = new OSS(config);
        }

        // 上传主逻辑
        async function startUpload() {
            const file = document.getElementById('fileInput').files[0];
            if (!file) return alert('请选择文件');

            try {
                await initOSSClient();

                // 上传参数配置
                const result = await ossClient.put(
                    `user_uploads/${file.name}`,  // 符合policy中的路径限制[1](@ref)
                    file,
                    {
                        progress: (p) => {
                            document.getElementById('progress').innerHTML =
                                `上传进度:${Math.round(p * 100)}%`;
                        }
                    }
                );

                console.log('上传成功:', result);
                alert(`文件已上传至:${result.url}`);
            } catch (e) {
                console.error('上传失败:', e);
                alert('上传失败,请检查控制台日志');
            }
        }
    </script>
</body>

</html>

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐