如何在JavaScript中打开Firebase文件的“保存文件”对话框

时间:2019-01-05 11:09:31

标签: javascript firebase firebase-storage

我的问题是我正在使用Firebase存储上载和下载文件。一切正常,除了我需要“保存文件”对话框来下载文件。当前浏览器正在打开当前选项卡中的那些文件,尽管浏览器无法读取的文件正在触发“保存对话框”。

这是我用于上传文件的代码

function uploadFileAsPromise (file, attachments, index) {
var metadata = {
    contentDisposition: 'attachment; filename=\"'+(moment().unix()+file.name)+'\"',
};

return new Promise(function (resolve, reject) {
    var storageRef = storage.ref("attachments/"+(moment().unix()+file.name));

    //Upload file
    var task = storageRef.put(file);

    //Update progress bar
    task.on('state_changed',
       //listeners 
    );
});
}

这是html中的代码,应该可以给我“保存对话框”。

<a download href="https://firebasestorage.googleapis.com/v0/b/sf-firestore.appspot.com/o/attachments%2F1546685444Capture.PNG?alt=media&amp;token=60562b91-0cd8-420b-b345-0c6af937f259" class="selected-files">
  </a>

1 个答案:

答案 0 :(得分:0)

(代表问题作者发布的解决方案)

我忘了像下面这样在put语句中传递元数据

var task = storageRef.put(file, metadata);

现在正在工作。