HTTP下载,即浏览器下载。浏览器中使用signatureUrl方法生成可下载的HTTP地址,URL的有效时间默认为半个小时。
以下代码用于HTTP下载:
let OSS = require("ali-oss");
let client = new OSS({
region: "",
accessKeyId: "",
accessKeySecret: "",
bucket: "",
});
let url = client.signatureUrl("object-key");
console.log(url);
let url = client.signatureUrl("object-key", {expires: 3600});
console.log(url);
阿里云文档内容结束---------------------------------
上面的代码在阿里云的文档中很容易查到,这个根据key返回的url如果直接打开只能是预览文件的效果,不能直接下载。
为了解决这个问题,有2种方法。
1、可以使用xhr去请求这个链接,获取到blob形式的数据流,然后进行下载,代码如下。
x.open("GET", url, true);
x.responseType = "blob";
x.οnlοad=function(e){