Загрузить PDF-файл с изображения, снятого камерой - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть строка кода, которая преобразует захваченные камерой изображения в формат PDF. Пока я получаю этот путь к файлу с устройства и пытаюсь загрузить его на сервер, этот файл не загружается, остальные загружаются успешно.

Я застрял здесь, пожалуйста, помогите мне добраться туда, где мне не хватает.

 func createPdfFromView(image: UIImage, saveToDocumentsWithFileName fileName: String)
{
    let pdfData = NSMutableData()
    let imgView = UIImageView.init(image: image)
    let imageRect = CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height)

    UIGraphicsBeginPDFContextToData(pdfData, imageRect, nil)
    UIGraphicsBeginPDFPage()

    let pdfContext = UIGraphicsGetCurrentContext()

    if (pdfContext == nil)
    {
        return
    }

    imgView.layer.render(in: pdfContext!)

    let fileManager = FileManager.default
    let paths = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent("apple.pdf")
    print(paths)
    fileManager.createFile(atPath: paths as String, contents: pdfData as Data, attributes: nil)


    UIGraphicsEndPDFContext()


}

получение пути к файлу из каталогов документов и загрузка этого файла с использованием alamofire.

    let fileManager = FileManager.default
    let imagePth = (self.getDirectoryPath() as NSString).appendingPathComponent("apple.pdf")
    if fileManager.fileExists(atPath: imagePth){
       let url = URL(string:imagePth)

        //path that I am getting:: _url : /var/mobile/Containers/Data/Application/4772765F-1A75-4A9D-BFEC-6EBAACAAC63B/Documents/apple.pdf 

        //upload files method called using this url.

    }else{

        print("No Image")
    }

 // get filepath from documentdirectories

func getDirectoryPath() -> String {
    let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
    let documentsDirectory = paths[0]
    return documentsDirectory
}
...