从 URL 或路径获取文件?

Posted

技术标签:

【中文标题】从 URL 或路径获取文件?【英文标题】:Get file from Url or path? 【发布时间】:2018-01-29 05:38:53 【问题描述】:

我已集成 UIDocumentPickerDelegateUIDocumentMenuDelegate 我在从 URL 或 DocumentPicker 获取文件时遇到问题。如何在 ios swift 中解决这个问题?

【问题讨论】:

你遇到什么问题,写在这里。 我从 UIDocumentPickerDelegate 获取文件 url 但我需要获取文件。 Edit 您的问题包括您的相关代码(作为文本)并清楚地显示您需要帮助的地方。 什么样的文件?到目前为止,您的解决方案是什么? 我需要获取 .pdf、.txt、.apk 等文件。@Roy 【参考方案1】:

您可以轻松获取文件,

如果需要获取图片

    @IBAction func btn_Handler_iCloud(_ sender: Any) 
        let doc = UIDocumentMenuViewController(documentTypes: [String(kUTTypeImage)], in: .import)
        doc.delegate = self
        doc.modalPresentationStyle = .formSheet
        self.present(doc, animated: true, completion: nil)
    

    func documentMenu(_ documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) 
        documentPicker.delegate = self
        present(documentPicker, animated: true, completion: nil)
    

    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) 
        let data = try! Data(contentsOf: urls[0])
        imageview_Buaty.image = UIImage.init(data: data)
    

    func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) 
        dismiss(animated: true, completion: nil)
    

【讨论】:

【参考方案2】:

从 UIDocumentPickerViewController 获取文档 URL 或数据:

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL)  
    // Available from iOS 8.0 to iOS 11.0
    self.handleFileSelection(inUrl: url)// Here url is document's URL


func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) 
    // Available from iOS 11.0
    self.handleFileSelection(inUrl: urls.first!)  // Here urls is array of URLs


private func handleFileSelection(inUrl:URL) -> Void 
    do  
     // inUrl is the document's URL
        let data = try Data(contentsOf: inUrl) // Getting file data here
     catch 
        dLog(message: "document loading error")
    

【讨论】:

以上是关于从 URL 或路径获取文件?的主要内容,如果未能解决你的问题,请参考以下文章

从 assets url 获取文件路径

使用 PHP 从 URL 字符串中获取文件路径/扩展名 [重复]

ActionScript 3 从url路径获取文件名并删除扩展名

PHP:从绝对 URL 获取绝对路径

我的javaEE项目的spring mvc controller里如何获取某个文件夹的路径呢?

无法从角度路由器获取路径或 url