全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

生成预签名 URL(Node.js)

最近更新时间:2024-11-15 17:15:25

Node.js SDK 提供获取对象 URL、获取请求预签名 URL 接口,详细操作请查看本文说明和示例。

前期准备

在开始使用之前,完成了SDK初始化

获取请求外链

获取不带签名 Object URL

//获取不带签名 Object URL
client.object.generatePresignedUrl({
    Bucket: '<bucketName>', // 填入存储桶,非必填
    Key: '<objectKey>',// 填入对象键,必填字段
    Sign: false, //是否返回带有签名的 Url,默认true,非必填
    Method: 'PUT' //请求方式,默认GET,非必填
},  function (res, data) {
    console.log('url: ', data)
 })

获取带签名Object URL

//获取带签名Object URL
client.object.generatePresignedUrl({
    Bucket: '<bucketName>', // 填入存储桶,非必填
    Key: '<objectKey>',// 填入对象键,必填字段
    Method: 'HEAD' //请求方式,默认GET,非必填
},  function (res, data) {
    console.log('url: ', data)
 })

指定链接有效时间

//指定链接有效时间
client.object.generatePresignedUrl({
    Bucket: '<bucketName>', // 填入存储桶,非必填
    Key: '<objectKey>',// 填入对象键,必填字段
    Method: 'HEAD', //请求方式,默认GET,非必填
    Expiration: 5 * 60, //链接有效时间,单位s,不指定的话则默认为 900 秒,非必填
},  function (res, data) {
    console.log('url: ', data)
 })

获取Object URL并下载文件

 //获取Object URL并下载文件
client.object.generatePresignedUrl({
    Bucket: '<bucketName>', // 填入存储桶,非必填
    Key: '<objectKey>',// 填入对象键,必填字段
    Method: 'GET', //请求方式,默认GET,非必填
    Expiration: 5 * 60 //链接有效时间,单位s,不指定的话则默认为 900 秒,非必填
},  function (res, data) {
     request({
        method: 'get',
        uri: data,
    }, '', '', function (err, data, res) {
        console.log(err, data)
        fs.writeFileSync('./objectKey', data)
    });
 })

生成预签名 URL,并在签名中携带 Query 和 Header

//生成预签名 URL,并在签名中携带 Query 和 Header
client.object.generatePresignedUrl({
    Bucket: '<bucketName>', // 填入存储桶,非必填
    Key: '<objectKey>',// 填入对象键,必填字段
    Expiration: 5 * 60, //链接有效时间,单位s,不指定的话则默认为 900 秒,非必填
    Method: 'POST',//请求方式,默认GET,非必填
    QueryParams: {
        uploads: ''
    }, //填入Query请求参数,按照{key: value}的格式,非必填
    headers:{
        'x-kss-storage-class': 'STANDARD'
    } //请求头,非必填
},  function (res, data) {
    console.log('url: ', data)
 })

获取预签名 Put Object 上传 URL

//获取预签名 Put Object 上传 URL
client.object.generatePresignedUrl({
    Bucket: '<bucketName>', // 填入存储桶,非必填
    Key: '<objectKey>',// 填入对象键,必填字段
    Expiration: 5 * 60, //链接有效时间,单位s,不指定的话则默认为 900 秒,非必填
    Method: 'PUT',//请求方式,默认GET,非必填
    headers:{
        'x-kss-storage-class': 'STANDARD',
        'x-kss-acl': 'public-read'
    } //请求头,非必填
},  function (res, data) {
    console.log('url: ', data)
 })

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈