天天看點

QuickLook 簡單使用(swift)

import QuickLook
           
//預覽檔案  -- 判斷檔案是否存在,若存在可用ql打開,
let fileUrl = FileUrlUtils.setupFileUrl(directory: FileUrlUtils.librayCachesURL(), name: "FILE/\(model.id)/\(model.fileName)")
if FileManager.default.fileExists(atPath: fileUrl.path) == true {

    let vc  = QLPreviewController()
    vc.title = fileUrl.lastPathComponent
    vc.delegate = self
    vc.dataSource = self
    viewVC?.navigationController?.pushViewController(vc, animated: true)

}else{
    PublicHUD.showInfo(text: "檔案已損壞,請重新下載下傳")
    let _ = FileUtils.deleteFile(fileUrl: fileUrl)
}
           
//聲明delegate
extension xxx: QLPreviewControllerDelegate , QLPreviewControllerDataSource{
    func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
        return 1
    }

    func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
        let fileUrl = FileUrlUtils.setupFileUrl(directory: FileUrlUtils.librayCachesURL(), name: "FILE/\(model.id)/\(model.fileName)")
        return fileUrl as QLPreviewItem
    }
}