前端使用阿里云oss的sts临时令牌上传文件案例
【代码】前端使用阿里云oss的sts临时令牌上传文件案例。
·
这是跑通的案例
<!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>
更多推荐
所有评论(0)