Отправка фотографий с помощью Finjinon - PullRequest
0 голосов
/ 02 октября 2018

В настоящее время я пытаюсь отправить несколько фотографий с помощью Finjinon SDK на Github, чтобы иметь возможность сделать несколько фотографий и отправить их на мой сервер.Я использую alamofire sdk для обработки отправки реальных изображений.Тем не менее, каждый раз, когда я отправляю фотографии, он случайным образом копирует одну из фотографий и отправляет остальные.Я, честно говоря, совершенно в замешательстве, я не знаю, где вообще начать исправлять эту проблему.

  for i in 0..<imageResultsFilter.count {
            print(i)
            let imageForUpload = imageResultsFilter[i]
            if let imageData = UIImageJPEGRepresentation(imageForUpload, 1) {
                multipartFormData.append(imageData, withName: "file\(i)", fileName:"image\(i).jpeg", mimeType: "image/jpeg")
            }
        }

Это мой цикл for, я проверил его и уверен, что проблема не в этом.

Вот так я и отправляю фотографии на свой сервер

  // Uploading files to server using Alamofire.
    Alamofire.upload(multipartFormData: {
        multipartFormData in

        for (key, parValue) in parameters {
            multipartFormData.append((parValue.data(using: .utf8))!, withName: key)
        }

        var imageResultsFilter = [UIImage]()
        imageResultsFilter = self.imageArray.enumerated().filter({ index, _ in
            index % 2 != 0
        }).map({ $0.1 })

        print(self.imageArray.count)

        for i in 0..<imageResultsFilter.count {
            print(i)
            let imageForUpload = imageResultsFilter[i]
            if let imageData = UIImageJPEGRepresentation(imageForUpload, 1) {
                multipartFormData.append(imageData, withName: "file\(i)", fileName:"image\(i).jpeg", mimeType: "image/jpeg")
            }
        }

    }, to: urlPath, encodingCompletion: {
        encodingResult in
        switch encodingResult {
        case .success(let upload, _, _) :
            upload.responseJSON(completionHandler: {
                response in

                // Json response from the server
                if let jsonValue = response.result.value {
                    let json = JSON(jsonValue)
                    // Parsing the response from the server
                    for (keyTitle, info) in json {
                        self.alertTitle = "\(keyTitle)"
                        self.messageText = "\(info)"
                    }
                }

                if response.response?.statusCode == 500 {
                    // Alerts user that there was an Error in uploading the file.
                    let alert = UIAlertController(title: self.alertTitle, message: self.messageText, preferredStyle: .alert)
                    alert.addAction(UIAlertAction(title: "Okay", style: .cancel, handler: nil))
                    self.present(alert, animated: true, completion: nil)
                } else if response.response?.statusCode == 200 {
                    // Alerts the user that the file succesfully uploaded to server.
                    let alert = UIAlertController(title: self.alertTitle, message: self.messageText, preferredStyle: .alert)
                    alert.addAction(UIAlertAction(title: "Okay", style: .cancel, handler: nil))
                    self.present(alert, animated: true, completion: nil)
                }

            })
        case .failure(let encodingError):
            print("error:\(encodingError)")
        }
    })
}

Честно говоря, я не знаю, в чем дело.Это не даст мне никаких ошибок, я использую цикл for, потому что каждый раз, когда я делаю снимок, он на самом деле хранит две одновременно.Например, скажем, я беру 3 фотографии.Массив будет заполняться от 0 до 5, я отправляю каждое другое изображение.Тем не менее, когда я вернусь, чтобы сделать еще одну фотографию, она изменится с 0-5 до 0-7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...