2015-12-22 3 views
1

Я использую Alamofire.upload, чтобы загрузить изображение как .POST на мой сервер. Но мой сервер всегда получает параметры только как строку запроса и использует multipart только для данных файла. Поэтому в моем запросе мне также нужно поместить некоторые параметры в URL, но, похоже, у Alamofire.upload есть вариант с аргументом параметров.Alamofire.upload с параметрами запроса

Alamofire.upload(
    .POST, 
    "https://httpbin.org/post?user=\(userId)&photo=\(photoTitle)", 
    multipartFormData: { multipartFormData in 
     multipartFormData.appendBodyPart(fileURL: unicornImageURL, name: "unicorn") 
    }, 
    encodingCompletion: nil 
) 

На данный момент я просто положить все параметры сам непосредственно формируя запрос-строку: "https://httpbin.org/post?user=\(userId)&photo=\(photoTitle)". Есть ли лучший способ передать параметры запроса на Alamofire.upload?

+0

Имея такую ​​же проблему, но, видимо, это не горячая тема –

+0

@Mayerz, я просто разместил некоторые обходной путь, который я использую в настоящее время. – user3537411

+0

спасибо человеку! Очень признателен –

ответ

0

Что может сделать лучше, Alamofire.ParameterEncoding, но для этого потребуется некоторое обходное решение с запросами.

var req: NSMutableURLRequest? 
    (req!, _) = Alamofire.ParameterEncoding.URL.encode(
     NSURLRequest(URL: NSURL(string: "https://httpbin.org")!), 
     parameters: ["user": userId, "photo": photoTitle] 
    ) 

    Alamofire.upload(
     .POST, 
     req!.URLString, 
     multipartFormData: { multipartFormData in 
      multipartFormData.appendBodyPart(fileURL: unicornImageURL, name: "unicorn") 
     }, 
     encodingCompletion: nil 
    ) 
Смежные вопросы