对象相关接口 功能说明 getSignedUrl接口为一个指定对象生成一个预签名的下载链接,访问该链接可以直接下载该对象。 代码示例 生成预签名下载链接 plaintext var params { Bucket: " ", Key: " ", Expires: 900, }; s3Client.getSignedUrl("getObject", params, function (err, url) { if (err) { console.log("Error", err); } else { console.log("Success: ", url); } }); 生成下载对象的预签名URL后,可以通过该URL下载文件 plaintext getObjUsingPresignedUrl: function (presignedUrl, saveFilePath) { const http require('http'); const fs require('fs'); const url require('url'); const parsedUrl url.parse(presignedUrl); const options { hostname: parsedUrl.hostname, port: parsedUrl.port, path: parsedUrl.path, method: 'GET' }; const file fs.createWriteStream(saveFilePath); const req http.request(options, (res) > { if (res.statusCode 200) { console.log("Downloading file..."); res.pipe(file); file.on('finish', () > { file.close(); console.log("File downloaded successfully"); }); } else { console.log(Failed to download. Status Code: ${res.statusCode}); } }); req.on('error', (e) > { console.error(Problem with request: ${e.message}); }); req.end(); } 请求参数 参数 类型 说明 是否必要 Bucket String bucket的名称 是 Key String 对象的key 是 Expires Int 超时时间(秒) 否,默认900秒 返回结果 生成对应的预签名下载 URL,该链接允许用户在指定的时间内直接从媒体存储下载对象。 服务端加密 功能说明 上传对象时可以指定对象的加密算法,即使设置桶的加密配置也可以加密请求上传的对象数据,服务端根据指定的加密算法对对象数据进行加密,目前支持AES256和国密SM4加密算法。
来自: