如何将Int值添加到Alamofire上传参数

biloshkurskyi.ss

我想为增加Int价值multipartFormData

Alamofire.upload(.POST,
                 url,
                 headers: headers,
                 multipartFormData: { multipartFormData in
                    //add some jpg image
                    //add other vaues:
                    for (key, value) in parameters {
                        if value is String {
                            multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
                        } else if value is Int {
                            let convertedValueNumber: NSNumber = NSNumber(int: value.intValue)
                            let data = NSKeyedArchiver.archivedDataWithRootObject(convertedValueNumber)
                            multipartFormData.appendBodyPart(data: data, name: key)
                        }
                    }

    }, encodingCompletion: { encodingResult in
      //some processing
})

但是服务器返回错误,我没有发送Int值。如何Int为参数增加价值?

NSKeyedArchiver很好奇。通常,您只是发送字符串表示形式,例如:

Alamofire.upload(.POST, URL, headers: headers, multipartFormData: { multipartFormData in
    //add some jpg image
    //add other values:
    for (key, value) in parameters {
        if value is String {
            multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
        } else if value is Int {
            multipartFormData.appendBodyPart(data: "\(value)".dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
        }
    }
}, encodingCompletion: { encodingResult in
    //some processing
})

或者,甚至更简单,因为字符串插值可与String和一起使用Int

Alamofire.upload(.POST, URL, headers: headers, multipartFormData: { multipartFormData in
    //add some jpg image
    //add other values:
    for (key, value) in parameters {
        if value is String || value is Int {
            multipartFormData.appendBodyPart(data: "\(value)".dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
        }
    }
}, encodingCompletion: { encodingResult in
    //some processing
})

或者,在带有Swift 3的Alamofire 4中:

Alamofire.upload(multipartFormData: { multipartFormData in
    //add some jpg image
    //add other values:
    for (key, value) in parameters {
        if value is String || value is Int {
            multipartFormData.append("\(value)".data(using: .utf8)!, withName: key)
        }
    }
}, to: url, method: .post, headers: headers, encodingCompletion: { encodingResult in
    //some processing
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将键/值对添加到哈希的开头?

来自分类Dev

如何将值添加到Spring SecurityContextHolder

来自分类Dev

如何将值添加到asp:BoundField

来自分类Dev

如何将元组值添加到Swift数组?

来自分类Dev

如何将多个值添加到jQuery代码

来自分类Dev

如何将子值添加到新数组?

来自分类Dev

如何将值添加到* vector?

来自分类Dev

如何将值添加到多数组?

来自分类Dev

如何将重复的值添加到ArrayList中?

来自分类Dev

如何将JVM参数添加到Tomcat?

来自分类Dev

如何将请求参数添加到XMLHttpRequest

来自分类Dev

如何将值添加到数组

来自分类Dev

如何将'作为值添加到SQL

来自分类Dev

如何将int添加到int数组?

来自分类Dev

如何将值添加到数组列表中

来自分类Dev

如何将ObjectId参数添加到mongodb查找

来自分类Dev

如何将多个值添加到字典键

来自分类Dev

如何将多个值添加到密钥字典

来自分类Dev

如何将值添加到TreeView?

来自分类Dev

如何将值添加到int列表的各个位置?

来自分类Dev

如何将多个值添加到对象数组

来自分类Dev

如何将参数添加到GET ajax请求?

来自分类Dev

如何将构造函数参数添加到列表?

来自分类Dev

如何将重复的值添加到ArrayList中?

来自分类Dev

如何将值添加到RadioButtonList

来自分类Dev

如何将请求参数添加到XMLHttpRequest

来自分类Dev

如何将int添加到int **?

来自分类Dev

如何将参数添加到link.asmx

来自分类Dev

如何将参数添加到报告中