我第一次使用Alamofire.我使用的是最新版本Alamofire 1.3.1.我想在一次API调用中发送一个图像,一个视频和一些POST参数.我正在使用多部分表单数据.多部分模块正在运行.我发送额外的POST参数时遇到问题params.以下是我的代码."params"是包含额外参数的字典?如何在请求中附加这些POST参数.请帮忙
var fullUrl :String = Constants.BASE_URL + "/api/CompleteChallenge"
var params = [
"authKey": Constants.AuthKey,
"idUserChallenge": "16",
"comment": "",
"photo": imagePath,
"video": videoPath,
"latitude": "1",
"longitude": "1",
"location": "india"
]
let imagePathUrl = NSURL(fileURLWithPath: imagePath!)
let videoPathUrl = NSURL(fileURLWithPath: videoPath!)
Alamofire.upload(
.POST,
URLString: fullUrl, // http://httpbin.org/post
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(fileURL: imagePathUrl!, name: "photo")
multipartFormData.appendBodyPart(fileURL: videoPathUrl!, name: "video")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON { request, response, JSON, error in …Run Code Online (Sandbox Code Playgroud) 我正在用swift开发一个iPhone应用程序.我正在使用Alamofire框架来处理http请求.我Alamofire.request像这样用于POST,GET等:
Alamofire.request(.POST, myURL , parameters: ["a": "1", "b" : "2" ])
.response { (request, response, data, error) in
}
Run Code Online (Sandbox Code Playgroud)
我Alamofire.upload用来将图像上传到服务器:
Alamofire.upload(.POST, uploadURL , fileURL)
Run Code Online (Sandbox Code Playgroud)
两者都很完美,但现在我想上传一个图像并发送一些参数,我的内容类型应该是multipart/form-data并且Alamofire.upload不接受参数.
有两个问题,更SO关于这一问题迅速,其中第一个没有使用Alamofire(真的,为什么不呢?),并在第二个,mattt(Alamofire开发)引用使用的编码参数.
我检查了他的例子,但仍然无法弄清楚如何做到这一点.
任何人都可以帮我解决这个问题吗?
谢谢!:)
我正在尝试使用Alamofire将图像上传到服务器,但我的代码不起作用.这是我的代码:
var parameters = ["image": "1.jpg"]
let image = UIImage(named: "1.jpg")
let imageData = UIImagePNGRepresentation(image)
let urlRequest = urlRequestWithComponents("http://tranthanhphongcntt.esy.es/task_manager/IOSFileUpload/", parameters: parameters, imageData: imageData)
Alamofire.upload(urlRequest.0, data: urlRequest.1)
.progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in
println("\(totalBytesWritten) / \(totalBytesExpectedToWrite)")
}
.responseJSON { (request, response, JSON, error) in
println("REQUEST \(request)")
println("RESPONSE \(response)")
println("JSON \(JSON)")
println("ERROR \(error)")
}
Run Code Online (Sandbox Code Playgroud)
这是urlRequestWithComponents方法:
func urlRequestWithComponents(urlString:String, parameters:Dictionary<String, String>, imageData:NSData) -> (URLRequestConvertible, NSData) {
// create url request to send
var mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlString)!)
mutableURLRequest.HTTPMethod = Alamofire.Method.POST.rawValue
let boundaryConstant = …Run Code Online (Sandbox Code Playgroud) 我需要将图像上传到服务器端点,其中结构必须如下所示:
{ "image": { "file": imageData }, "access_token": access_token }
Run Code Online (Sandbox Code Playgroud)
如何使用NSURLSession(甚至Alamofire或AFNetworking)发送此类请求?