NSURLSession с запросом backgroundSessionConfiguration и multipart / form-data

Я пытаюсь загрузить видеофайл на NSURLSession используя NSURLSession с backgroundSessionConfiguration . Запрос должен быть multipart/form-data с некоторыми параметрами в теле запроса (ключ API и т. Д.). iOS позволяет загружать фоновый файл только из файла uploadTaskWithRequest(request: NSURLRequest, fromFile fileURL: NSURL) поэтому я не могу использовать только NSData файла, поэтому transloadit возвращает запрос INVALID_FORM_DATA , поскольку iOS не учитывает параметры в теле запроса, когда загрузка файла. Могу ли я настроить запрос multipart/form-data без данных видеофайла внутри или, возможно, есть некоторые другие решения?

Редактировать 3/27/16

Благодаря Робу, он работал после создания временного файла. Теперь у меня есть словарь с ключом «params», и при загрузке я получаю какое-то странное поведение. Здесь я добавляю его в NSMutableData :

 body.appendString("--\(boundary)\r\n") body.appendString("Content-Disposition: form-data; name=\"params\"\r\n\r\n") body.appendString("test\r\n") body.appendString("--\(boundary)\r\n") body.appendString("Content-Disposition: form-data; name=\"\(filePathKey)\"; filename=\"\(fileName)\"\r\n") body.appendString("Content-Type: \(mimeType)\r\n\r\n") body.appendData(fileData) body.appendString("\r\n") body.appendString("--\(boundary)--\r\n") 

appendString – вспомогательная функция, которая в основном выполняет string.dataUsingEncoding(NSUTF8StringEncoding) Процесс загрузки превращается в бесконечный цикл. Как только я меняю params на что-то еще, загрузка работает без проблем. В идеале мне нужно отправить следующий словарь в тело запроса:

 let auth = ["auth": ["key": "****", "expires": ""]] let notifyURL = ["notify_url": "http://callback_url"] let parameters: [String: AnyObject] = ["params": [auth, notifyURL]] 

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