如何将来自 Firebase 的 pdf 文件保存在 Web 的本地文件夹中

How to save pdf file from Firebase in local folder from web

如何从 Firebase 存储下载并保存 pdf 文件。 在上传过程中,我将上传信息保存在实时 firebase 节点上,如下所示:

而我的存储如下:

我的保存按钮链接到这个函数:

function savepdfFile(){
 let selectedGroup = document.getElementById("groupname");
 let selectedDate = document.getElementById("dateId");
 let selectedGroupValue = selectedGroup.value;
 let selectedDateValue = selectedDate.value;
 let mdate = "";
 mdate = changeDateForamat(selectedDateValue);
 downloadPDFDoc(selectedGroupValue,mdate);
}

单击保存按钮时,我从 firebase 实时节点检索此 pdf 文件的信息如下;

function downloadPDFDoc(groupname,mdate){
let pdfName, pdfUrl;
firebase.database().ref('SessionPDFStorage').once('value',function(snapshot){
    snapshot.forEach(
        function(ChildSnapshot){                
            //let mLocation = ChildSnapshot.val().province;
            let mGroup = ChildSnapshot.val().selectedGroup;
            let mydate = ChildSnapshot.val().currentDate;

            let ddate = changeDateForamat(mydate);

            if(groupname == mGroup && mdate == ddate){                    
                pdfName =  ChildSnapshot.val().fileName;
                pdfUrl =  ChildSnapshot.val().fileImageUri;
            }               
        }
    );
    loadScannedImage(pdfName,pdfUrl);        
 });    
}

如何开发下面的 loadScannedImage(pdfName,pdfUrl) 函数来使用上述信息将文件动态保存在本地文件夹中?示例自动将此 pdf 保存到本地 c:\download 目录。

function loadScannedImage(pdfName,pdfUrl){

}

我看过 FileSaver.js 和 Blob.js 的一些实现,但不太清楚我将如何使用它们。

我们将不胜感激。

我创建了一个锚点元素并传递了 pdf 名称及其 url link 作为属性跟随在 loadscnnedImage:

function loadScannedImage(pdfName,ImgUrl){   
 var element = document.createElement('a');
               element.setAttribute('href',`${ImgUrl}`);
               element.setAttribute('download', pdfName);
               document.body.appendChild(element);
               element.click()
}

但我希望将 pdf 文件直接动态保护到机器上浏览器的默认下载文件夹中。但这也有效