本文介绍如何通过文件URL预览或下载文件(Object)。
说明 浏览器中使用
signatureUrl
方法生成用于预览或下载的文件URL,URL的有效时间默认为半小时,即1800s。
通过URL预览文件
以下代码用于通过URL预览文件:
const OSS = require('ali-oss');
const client = new OSS({
// region以杭州为例(oss-cn-hangzhou),其他region按实际情况填写。
region: '<Your region>',
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: '<Your bucket name>',
});
let url;
// object-key表示从OSS下载文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
url = client.signatureUrl('object-key');
console.log(url);
// 此处以设置URL的有效时长为3600s为例,若不设置有效时长,则默认为1800s。
url = client.signatureUrl('object-key', {expires: 3600});
console.log(url);
通过URL下载文件
以下代码用于通过URL下载文件:
const OSS = require('ali-oss');
const client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: '<Your bucket name>',
});
// 配置响应头实现通过URL访问时自动下载文件,并设置下载后的文件名。
const filename = 'test.js' // filename为自定义下载后的文件名。
const response = {
'content-disposition': `attachment; filename=${encodeURIComponent(filename)}`
}
// object-key表示从OSS下载文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
const url = client.signatureUrl('object-key', { response });
console.log(url);
在文档使用中是否遇到以下问题
更多建议
匿名提交