首页 > 解决方案 > getSignedUrl 链接未下载

问题描述

我正在为我的网站使用 Firebase 托管和 Firebase 存储。

我正在提供一个特殊的图像 5 分钟并允许用户下载它。

这就是我生成网址的方式:

function getSignedUrl(file) {
    console.time('URLGenerated ');
    let options = { action: 'read', expires: Date.now() + 5 * 60 * 1000, ResponseContentType: 'binary/octet-stream' }; // 5min Expiration Time
    let bucketFileName = path.basename(file);
    return bucket.upload(file, { destination: `public/${bucketFileName}` })
        .then(() => {
            return bucket.file(`public/${bucketFileName}`).getSignedUrl(options)
                .then((urls) => {
                    fs.unlinkSync(file);
                    console.timeEnd('URLGenerated ');
                    return urls[0];
                })
                .catch((e) => {
                    console.log('Link Generation Error' + e);
                });
        }).catch((e) => console.log(e));
} 

生成 URL,我把它放在这样的锚标记中:

<a class="submitBtn" download="" href="https://firebasestorage.googleapis.com/v0/b/ecutter-web.appspot.com/o/15737172127732.jpg?alt=media&token=4bdf0705-9621-4117-8e65-fdd05ea7920d">Download</a> 

现在图像没有开始下载它正在导航到 URL。

如何使用它提供的文件名下载图像?

标签: node.jsfirebasegoogle-cloud-storagefirebase-storage

解决方案


推荐阅读