使用 Swift 将照片上传到网络服务

Posted

技术标签:

【中文标题】使用 Swift 将照片上传到网络服务【英文标题】:uploading photo to web service with Swift 【发布时间】:2016-07-22 11:53:45 【问题描述】:

我想上传一张照片。我检查了 Alamofire,但所有示例都使用 Json 和编码。我需要上传用应用程序拍摄的照片并将其作为文件发送到网络服务。 Web 服务的响应也是字符串。我怎样才能做到?

【问题讨论】:

【参考方案1】:
Alamofire.upload(.POST, urlString, multipartFormData: 
        multipartFormData in
        if let _image = self.profilePic.image 
            if let imageData = UIImagePNGRepresentation(_image) 
                multipartFormData.appendBodyPart(data: imageData, name: "user_image", fileName: "file.png", mimeType: "image/png")
            
        
        for (key, value) in userInfo 
            multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
        
        , encodingCompletion:  encodingResult in
            switch encodingResult 
            case .Success(let upload, _, _):
                upload.responseJSON  response in
                    debugPrint(response)
                
            case .Failure(let encodingError):
                print(encodingError)
            
        
    )

self.profilePic.image 是您的图像。

【讨论】:

以上是关于使用 Swift 将照片上传到网络服务的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 4 中从图像选择器获取照片本地 url

使用 Alamofire 4 swift 3 上传图像

如何使用 Android 将手机联系人照片的总列表上传到服务器?

Swift 3 使用 Alamofire 将数据上传到服务器

我们如何将图像或照片上传到 ejabberd XMPP Web 服务器?

无法使用 AVFoundation 将录制的视频上传到服务器 - Swift 3