Как загрузить изображение в Swift с помощью Moya? - PullRequest
1 голос
/ 29 июня 2019

У меня есть проект, в котором пользователи выбирают изображения из своей галереи или снимка, и он должен быть загружен на удаленный сервер.

Теперь, если я пытаюсь загрузить статическое изображение, которое я вставил в свой xcode, изображение загружается, но в тот момент, когда я использую ImagePicker, выбираю изображение и передаю его на ImageView, фотографию показывает, но не удается загрузить на сервер. Приложение не вылетает, загрузка изображений просто не идет. Есть причина почему? и любая помощь будет оценена

NetworkAdapter.instance.uploadImage(status: "user", image: Img.image).subscribe(onNext: { check in
            print("CHECKOUT NOW \(check)")
        }, onError: { error in
            print("CHECKOUT NOW \(error.localizedDescription)")
        }).disposed(by: disposeBag) 

Я использую Moya для вызова API

case .uploadImage(let data):
            let imageData = data.image.jpegData(compressionQuality: 1.0)
            let memberIdData = "\(data.status)".data(using: String.Encoding.utf8) ?? Data()
            var formData: [Moya.MultipartFormData] = [Moya.MultipartFormData(provider: .data(imageData!), name: "image", fileName: "user.jpeg", mimeType: "image/jpeg")]

1 Ответ

2 голосов
/ 01 июля 2019

Попробуйте это: Изменить данные в формате JPEG.

case .uploadImage(let data):
           let imageData = data.image.jpegData(compressionQuality: 0)
           let memberIdData = “\(data.status)“.data(using: String.Encoding.utf8) ?? Data()
           var formData: [Moya.MultipartFormData] = [Moya.MultipartFormData(provider: .data(imageData!), name: “image”, fileName: “user.jpeg”, mimeType: “image/jpeg”)]
...