如何将来自 Firebase 的 pdf 文件保存在网络的本地文件夹中
Posted
技术标签:
【中文标题】如何将来自 Firebase 的 pdf 文件保存在网络的本地文件夹中【英文标题】:How to save pdf file from Firebase in local folder from web 【发布时间】:2021-12-27 16:41:21 【问题描述】:如何从 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 的一些实现,但不太清楚我将如何使用它们。
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我创建了一个锚元素并将 pdf 名称和它的 url 链接作为属性传递给 loadcnnedImage:
function loadScannedImage(pdfName,ImgUrl)
var element = document.createElement('a');
element.setAttribute('href',`$ImgUrl`);
element.setAttribute('download', pdfName);
document.body.appendChild(element);
element.click()
但我希望将 pdf 文件直接动态安全地保存到机器上浏览器默认下载的文件夹中。但这也有效
【讨论】:
以上是关于如何将来自 Firebase 的 pdf 文件保存在网络的本地文件夹中的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:如何将pdf文件上传到firebase存储?
如何将从 Google Place API 获取的信息存储到 Firebase?
如何通过 android 将文件保存到 Firebase 托管文件夹位置以获取图像?