请教,这个callback函数具体是啥意思呀,脑子在这怎么也转不过来了,受累解答,感谢~~~

var COS = require('cos-js-sdk-v5');
var cos = new COS({
    // 必选参数
    getAuthorization: function (options, callback) {
        // 服务端 JS 和 PHP 例子:https://github.com/tencentyun/cos-js-sdk-v5/blob/master/server/
        // 服务端其他语言参考 COS STS SDK :https://github.com/tencentyun/qcloud-cos-sts-sdk
        // STS 详细文档指引看:https://cloud.tencent.com/document/product/436/14048
        $.get('http://example.com/server/sts.php', {
            // 可从 options 取需要的参数
        }, function (data) {
            var credentials = data && data.credentials;
            if (!data || !credentials) return console.error('credentials invalid');
            callback({
                TmpSecretId: credentials.tmpSecretId,
                TmpSecretKey: credentials.tmpSecretKey,
                XCosSecurityToken: credentials.sessionToken,
                // 建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误
                StartTime: data.startTime, // 时间戳,单位秒,如:1580000000
                ExpiredTime: data.expiredTime, // 时间戳,单位秒,如:1580000900
            });
        });
    }
});
用户4590653用户4590653提问于
可酷可乐

腾讯云 · 售后工程师 (已认证)

热爱云计算的小锅一枚。回答于
推荐已采纳

客户端请求COS,出于安全考虑使用的密钥要受到policy的约束,callback就是得到server端返回的 临时账号信息,包括

TmpSecretId: credentials.tmpSecretId,
TmpSecretKey: credentials.tmpSecretKey,
XCosSecurityToken: credentials.sessionToken,
StartTime: data.startTime, // 时间戳,单位秒,如:1580000000
ExpiredTime: data.expiredTime,

客户端再用临时账号密钥和token 对COS发起请求。

架构图参考官网文档

回答过的其他问题

存储桶上传的MP4后缀视频,复制链接不能直接播放MP4视频,只能有音频声音(PC端)?

可酷可乐

腾讯云 · 售后工程师 (已认证)

热爱云计算的小锅一枚。
推荐
您好,根据提到的问题看。 问题一:上传MP4文件,浏览器不能直播此视频,只有声音。手机端有视频 这个主要看一下您的原视频,因为在浏览器中主要依赖于浏览器的内置播放视频功能,兼容性可能不如专业的播放工具,您可以在PC端用VLC尝试是否可以播放,如果可以播放的话,您可以通过腾讯云的转...... 展开详请

COS是否可以获取上传视频的时长?

可酷可乐

腾讯云 · 售后工程师 (已认证)

热爱云计算的小锅一枚。
推荐

对象存储通过直传首次上传成功后怎么使直传链接失效,防止重新上传?

可酷可乐

腾讯云 · 售后工程师 (已认证)

热爱云计算的小锅一枚。
推荐
从当前的签名机制上看,并不能做到使用后即失效。有两种方式可以降低风险。 1.在web直传模式中,需要向STS申请临时账号,临时账号生效的时间是由durationInSeconds参数控制,可以尽量缩短时间配置。 2.在申请STS时,需要设置policy,确保当前客户端只能上传到C...... 展开详请

临时密钥地址如何获取?

可酷可乐

腾讯云 · 售后工程师 (已认证)

热爱云计算的小锅一枚。
推荐
COS上传文件,为了提高安全性所以需要使用临时账号和密钥进行上传,临时账号和密钥的获取方法请见https://cloud.tencent.com/document/product/598/33416 需要您这边使用SDK访问STS服务,并生成临时账号信息,包括sessionTok...... 展开详请

java 下载文件报错?

可酷可乐

腾讯云 · 售后工程师 (已认证)

热爱云计算的小锅一枚。
推荐

您的这个Read timed out 这个错误是否是偶发情况?

这个有可能是网络原因导致的请求回包没有收到,从而在写磁盘时被catch到报了Read timed out。您可以检查一下您的网络情况,如果比较频繁的出现,可以抓包看一下网络是否有异常。

iOS上传图片为什么报403?

可酷可乐

腾讯云 · 售后工程师 (已认证)

热爱云计算的小锅一枚。
推荐

看一下在policy里面是不是限制对象前缀了,和真实的PutObject的对象路径不匹配?

关于作者

可酷可乐

腾讯云 · 售后工程师 (已认证)

腾讯云 售后工程师

所属标签

扫码关注云+社区

领取腾讯云代金券