如上 在公有访问桶里面, 如何获取文件的永久访问url?

用户5901047用户5901047提问于
galen

腾讯 · 高级工程师 (已认证)

对象存储专业搬砖工回答于
推荐

如果文件是公有读的,那直接拼路径即访问URL,格式如 https://<Bucket>.cos.<Region>.myqcloud.com/<Key> ,不需要接口。

如果使用的sdk,比如js sdk,则可以使用 getObjectUrl 方法

var url = cos.getObjectUrl({
    Bucket: 'examplebucket-1250000000',
    Region: 'COS_REGION',     /* 存储桶所在地域,必须字段 */
    Key: 'exampleobject',
    Sign: false
});

回答过的其他问题

cos-nodejs-sdk-v5 找不到getObjectUrl接口的说明?

galen

腾讯 · 高级工程师 (已认证)

对象存储专业搬砖工
推荐
1、getObjectUrl是近期新加的,会联系同事马上补上 2、创建目录的话,在sdk xml版本中,只要object是以 “/” 结尾,则认为是目录。所以还是使用putObject的接口 感谢您的反馈~... 展开详请

使用 cos v5.js版本上传视频,报错:"AccessDenied",请大家看看问题?

galen

腾讯 · 高级工程师 (已认证)

对象存储专业搬砖工
推荐

你的签名里面q-url-param-list写了versioning,即表示会对url中的versioning进行校验,但你这个上传中url并没有versioning这参数,所以会报403无权限

账号是在COS V4 版本申请的,如何在控制台上切换V4和V5版本?

galen

腾讯 · 高级工程师 (已认证)

对象存储专业搬砖工
推荐

没法切换的,控制台的V4、V5的底层处理方式对使用方基本是无感知的,V4、V5的上传是没区分的

COS有一定的机率会报403,求解决?

galen

腾讯 · 高级工程师 (已认证)

对象存储专业搬砖工
推荐
403的看了UA是Safari浏览器发起的请求,200的是Chrome浏览器发起的请求 从请求的request headers看,403那个在头部有带上`Access-Control-Request-Headers: accept, content-type` 200那个是没有带...... 展开详请

在cos 使用 javascript uploadFiles 函数,报 403,求解?

galen

腾讯 · 高级工程师 (已认证)

对象存储专业搬砖工
推荐

可以发一下403时候返回的requestId,我们再帮查询下

使用有过期时间的签名往Cos存储桶中上传文件,若上传还在进行中签名过期,上传是否会终止?

galen

腾讯 · 高级工程师 (已认证)

对象存储专业搬砖工
推荐已采纳

如果你是使用的简单上传,它能接收5g以内的文件,那签名过期的文件还在上传的话,是没影响的,因为签名判断是在cos接受到请求时。

如果你是使用的sdk等封装的分片上传,那其实是多个请求去上传文件,如果签名过期了,那上传到某一刻,后面的请求都会返回403

关于作者

galen

腾讯 · 高级工程师 (已认证)

腾讯 高级工程师

扫码关注云+社区

领取腾讯云代金券