如何获取从类SWIFT创建的实例的URL?

时间:2018-03-13 22:05:34

标签: ios swift url alamofire

我正在尝试将新创建的PDFDocument实例上传到服务器。我想使用Alamofire,上传所需的部分参数是文件URL。我的问题是如何获取这个新创建的实例的URL?

 // Create new PDFDocument
 let newDoc = PDFDocument.init()

Alamofire上传功能:

 Alamofire.upload(fileURL, to: "myLinkGoesHere").responseJSON { response in
debugPrint(response)
}

1 个答案:

答案 0 :(得分:1)

在您将数据写入之前,新创建PDFDocument的实例没有任何URL或文件路径。您可以通过两种方式在服务器上上载pdf文档。

<强> 1。使用数据:

您仍然可以使用数据将数据上传到服务器。您需要使用不同的Almofire API方法将其上载到服务器。

// Create new PDFDocument
let newDoc = PDFDocument()
//Get the data from the newly created document
if let data = newDoc.dataRepresentation() {
   //Upload the data using Almofire. 
   Alamofire.upload(data, to: "myLinkGoesHere").responseJSON { response in

   }
}

<强> 2。将pdf写入文件路径并使用URL上传。

    //Create a new document 
    let newDoc = PDFDocument()
    /*Perform certain task and add some content into document

    end of the adding content into document*/
    //Now save the document into file path
    let path = "~/path/to/doc/to/be/saved.pdf"
    newDoc.write(toFile: path)
    //Create file path url 
    let url = URL(fileURLWithPath: path)
    //start upload processing using url
    Alamofire.upload(url, to: "myLinkGoesHere").responseJSON { response in }