如何从带有预签名URL的minio下载文件/对象?
我使用minio。我尝试通过生成url(预签名的url)来获取存储桶中的对象。获取预签名的URL后,我的客户站点可以预览<img>
标签内的图像。但是,我尝试使用该预签名的URL下载文件。我尝试使用downloadjs npm软件包(link),但失败了。没错,但下载的文件已损坏。这是我生成预签名网址的方法:
// presigned url for 'getObject' method.
// expires in a day.
minioClient.presignedUrl('GET', 'mybucket', 'hello.txt', 24*60*60, function(err, presignedUrl) {
if (err) return console.log(err)
console.log(presignedUrl)
});
然后,从预签名的URL下载文件的正确方法是什么?
更新
我想我取得了一些进展。我尝试使用axios.get并向presignedUrl发出请求。当我打印结果时,它显示如下:
result.data
是二进制。但是,大小大于应有的大小。如何下载?
基本上,您可以获得S3object的presignUrl,然后在window.location.href中以这种方式打开它,它将下载文件
let url=getPreSignUrl()
window.location.href = url;
如何从带有预签名URL的minio下载文件/对象?
我使用minio。我尝试通过生成url(预签名的url)来获取存储桶中的对象。获取预签名的URL后,我的客户站点可以预览<img>
标签内的图像。但是,我尝试使用该预签名的URL下载文件。我尝试使用downloadjs npm软件包(link),但失败了。没错,但下载的文件已损坏。这是我生成预签名网址的方法:
// presigned url for 'getObject' method.
// expires in a day.
minioClient.presignedUrl('GET', 'mybucket', 'hello.txt', 24*60*60, function(err, presignedUrl) {
if (err) return console.log(err)
console.log(presignedUrl)
});
然后,从预签名的URL下载文件的正确方法是什么?
更新
我想我取得了一些进展。我尝试使用axios.get并向presignedUrl发出请求。当我打印结果时,它显示如下:
result.data
是二进制。但是,大小大于应有的大小。如何下载?
基本上,您可以获得S3object的presignUrl,然后在window.location.href中以这种方式打开它,它将下载文件
let url=getPreSignUrl()
window.location.href = url;