Как загрузить UIImage из Swift на флеш-сервер? - PullRequest
0 голосов
/ 24 апреля 2019

Есть две части:

  1. Я хочу использовать Alamofire framework для загрузки UIImage in Swift на сервер.

  2. Сервер, на котором запущен flask-RESTful для получения этого образа и его сохранения на сервере.

Это мой код Swift:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

        // your chosen image
        let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as! UIImage

        // save to local documents
        let fileManager = FileManager.default
        let rootPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,
                                                           .userDomainMask, true)[0] as String
        let filePath = "\(rootPath)/pickedimage.jpg"
        let imageData = pickedImage.jpegData(compressionQuality: 1.0)
        fileManager.createFile(atPath: filePath, contents: imageData, attributes: nil)

        // upload
        if (fileManager.fileExists(atPath: filePath)){

            let imageURL = URL(fileURLWithPath: filePath)

            Alamofire.upload(imageURL, to: "http://xxxx")
                .responseString { response in
                    print("Success: \(response.result.isSuccess)")
                    print("Response String: \(response.result.value ?? "")")
            }
        }
    }

Я хочу знать, верен ли код Swift и что делать с RESTful-фляжкой.

1 Ответ

0 голосов
/ 24 апреля 2019

Я нахожу решение самостоятельно. Просто преобразуйте UIImage в base64String и отправьте на сервер, python может декодировать base64String и преобразовать его в файл jpg.

...