Невозможно вызвать 'append' с помощью списка аргументов типа '(String, withName: String)' в Alamofire 4.0

Я использую Alamofire 4.0 для загрузки видео на сервер после выбора или записи его через устройство / камеру, но когда я пытаюсь вызвать функцию загрузки с добавлением, эта ошибка появилась мне во всех операциях append, что в коде не так. ,

второй мой вопрос о том, хочу ли я показывать прогресс с процентом прогресса во время загрузки, как я могу это сделать через Alamofire.

Благодаря 🙂

Мой код после чтения URL выбранного / записанного видео

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let mediaType:AnyObject? = info[UIImagePickerControllerMediaType] as AnyObject? if let type:AnyObject = mediaType { if type is String { let stringType = type as! String if stringType == kUTTypeMovie as String { let urlOfVideo = info[UIImagePickerControllerMediaURL] as? NSURL if let url = urlOfVideo { // 2 print(url) let URL = try! URLRequest(url: "myurl", method: .post, headers: ["Authorization": "auth_token"]) Alamofire.upload(multipartFormData: { multipartFormData in multipartFormData.append(url, withName: "videoFile", fileName: "filename", mimeType: "mov") multipartFormData.append("video", withName: "load") multipartFormData.append("record", withName: "type") }, with: URL, encodingCompletion: { (result) in // code }) } } } } picker.dismiss(animated: true, completion: nil) } 

Относительно сообщения об ошибке:

Невозможно вызвать ' append ' с помощью списка аргументов типа ' (String, withName: String) '

Если мы рассмотрим методы append MultipartFormData из Alamofire:

  • Alamofire / Источник / MultipartFormData.swift

Мы отмечаем, что никакой метод append(...) позволяет использовать первый аргумент типа String , который вы Alamofire.upload использовать при добавлении в своем закрытии multipartFormData Alamofire.upload .

 multipartFormData.append("video", withName: "load") multipartFormData.append("record", withName: "type") 

Я считаю, что вы пытаетесь использовать следующий метод:

 public func append(_ data: Data, withName name: String) { ... } 

В этом случае вам нужно закодировать строку в Data типа Swift, например, следующим образом:

 multipartFormData.append("video".data(using: .utf8)!, withName: "load") multipartFormData.append("record".data(using: .utf8)!, withName: "type") 

Что касается вашего звонка:

 multipartFormData.append(url, withName: "videoFile", fileName: "filename", mimeType: "mov") 

NSURL url выше имеет тип NSURL . В Swift 3 вам следует вместо этого использовать URL Foundation, который NSURL с NSURL , но не является тем же типом. В Alamofire 4 мы видим, что он особенно рассчитывает тип URL для функции append вы пытаетесь вызвать выше:

 public func append(_ fileURL: URL, withName name: String, fileName: String, mimeType: String) 

Вы отметили, что вы можете использовать обходной путь для вызова этого метода, используя свойство absoluteURL для NSURL по вашему url NSURL экземпляра; но это просто дает необязательный URL типа. Лучшим подходом было бы просто использовать тип URL а не NSURL с самого начала.

  • Подробнее / Меньше с Swift 3
  • Приложение iOS аварийно завершает работу после удаления последней ячейки в секции
  • Задержка UIVisualEffectView с UIModalTransitionStyle CrossDissolve
  • Как разбирать JSON, когда нет ключа, но только целое число / значение строки?
  • Неверный размер встроенного видео YouTube
  • Модуль Swift3 Framework пуст
  • Невозможно загрузить изображение с помощью URLSession
  • Преобразование кода Swift 3 без использования dispatch_once_t
  • Удалить последние два символа в строке (Swift 3.0)
  • Неверный выпуск сертификата с помощью Alamofire 4.0
  • Ячейки в UITableView перекрываются. Многие ячейки в одном месте
  • Interesting Posts

    iOS7 UIImagePickerController позволяет Editing работать неправильно

    Как извлечь последнюю дату месяца указать месяц в качестве параметра в iphone

    Ошибка Xcode с кодом выхода 254

    Правильный способ обновления UIPageViewController после запроса API

    Instagram MIN_TIMESTAMP не возвращает все изображения, которые он должен

    Как включить ссылку в мое сообщение с помощью FBConnect из приложения iPhone?

    Вызов webAPI в Swift и фатальной ошибке: литерал словаря содержит дубликаты ключей

    Как проверить, имеет ли объект NSMutableArray уже (объект __bridge id) в массиве

    __FILE__ устарел и будет удален в режиме быстрого 3

    SPErrorGizmoInstallNeverFinishedErrorMessage в Watchkit

    черный цвет

    Ткань Ошибка входа в Twitter, когда учетная запись не настроена?

    UIRefreshControl – Как сделать действие обновления после выхода touch?

    API-интерфейс iOS Dropbox API, который в настоящее время не поддерживается MPOAuthConnection, возникает после смены пользователя

    Переменные экземпляра iOS 5

    Давайте будем гением компьютера.