У меня есть приложение, позволяющее пользователю загружать фотографии из библиотеки фотографий, сначала приложение преобразует изображение в строку 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()
}