swift - 如何将 pdf 文件从 Firebase 保存到文档目录
问题描述
您好我正在尝试将文件 test.pdf 从 firebase 存储保存到我的应用程序的文档目录,但不幸的是无法正常工作。
这里我的内容视图带有一个按钮来运行任务:
import SwiftUI
import Firebase
import WebKit
struct ContentView: View {
var body: some View {
VStack {
Button(action: {
let storage = Storage.storage()
let storageRef = storage.reference()
let islandRef = storageRef.child("test.pdf")
// Create local filesystem URL
let localURL = URL(string: self.cartellaDocuments())!
let downloadTask = islandRef.write(toFile: localURL) { (url, err) in
if err != nil {
debugPrint(" // Uh-oh, an error occurred!")
} else {
debugPrint("\(String(describing: url))")
}
}
}) {
Text("esegui")
}
}
}
func cartellaDocuments() -> String {
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
debugPrint(paths[0])
return paths[0]
}
}
我在firebase中的存储:
我尝试遵循 google firebase 指令,但收到以下警告:
我该如何解决这个问题。
谢谢您的帮助
解决方案
你可以试试这个:
let pdfView = PDFView()
pdfView.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(pdfView)
pdfView.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor).isActive = true
pdfView.trailingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.trailingAnchor).isActive = true
pdfView.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor).isActive = true
pdfView.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor).isActive = true
if let document = PDFDocument(url: URL.init(string: "https://your storage download url")!) {
pdfView.document = document
}