Отправить изображение в виде строки base64 через веб-сервис - PullRequest
0 голосов
/ 10 октября 2019

У меня есть приложение, позволяющее пользователю загружать фотографии из библиотеки фотографий, сначала приложение преобразует изображение в строку base64, а затем передает строку на сервер через веб-сервис (C # .net).

Наконец, этоработать только над некоторыми простыми фотографиями (например, черно-белыми фотографиями, небольшими фотографиями), но не удалось, если цветные фотографии, я не уверен, но я предполагаю, что строка base64 усекается при передаче на веб-сервер(Может быть слишком длинная строка). Есть ли проблема в моем коде ниже?

func UploadPhoto(img: UIImage){
    let strBase64 = img.jpegData(compressionQuality: 1)?.base64EncodedString() ?? ""

    var request = URLRequest(url: URL(string: "https://xxxxx/uploadimg.asmx/UploadFile")!)
    request.httpMethod = "POST"

    let postString = "Base64String=" + strBase64

    request.httpBody = postString.data(using: .utf8)

    let task = URLSession.shared.dataTask(with: request)
    {
        data, response, error in

        if error == nil && data!.count > 0, let _ = data {
            do
            {
                print ("API UploadFile Finished")
            }
            catch let error as NSError
            {
                print("UploadFile error")
                print(error)
            }
        }
    }
    task.resume()
}
...