【问题标题】:Multipart POST with Alamofire使用 Alamofire 的多部分 POST
【发布时间】:2014-11-05 23:21:21
【问题描述】:

我想在 Swift 中使用 Alamofire 向我的 Rails 服务器发出请求。 我有一个简单的对象,我想对其进行序列化,以及一些我想作为多部分编码数据附加的图像。

在我的 Rails 方面,它就像一个请求一样简单:

post :create, object: parameters, files: ['file1', 'file2'], format: :json

使用 Alamofire 最优雅的方法是什么?

【问题讨论】:

    标签: swift alamofire


    【解决方案1】:

    我还没有深入研究 Alamo Fire,但阅读文档让我相信 Alamo Fire 目前不支持此功能。特别是标题“我何时应该使用 AFNetworking”下的文档末尾指出:

    将 AFNetworking 用于以下任何一项:

    • UIKit 扩展,比如异步加载图片到 UIImageView
    • TLS 验证,使用 AFSecurityManager
    • 需要 NSOperation 或 NSURLConnection 的情况,使用 AFURLConnectionOperation
    • 网络可达性监控,使用 AFNetworkReachabilityManager
    • 使用 AFHTTPRequestSerializer 构建多部分 HTTP 请求

    【讨论】:

    • 感谢 Brandon,我为此通话导入了 AFNetworking,它似乎可以正常工作。
    【解决方案2】:

    我不知道你在问什么

    在 Swift 3 中

    但为了实现 MultiPartFormdata 以下代码可能很有用

    Alamofire.upload(multipartFormData: { (multipartFormData) in
            multipartFormData.append(UIImageJPEGRepresentation(self.Imgprofile.image!, 1)!, withName: "Prescription", fileName: "Profile_Image.jpeg", mimeType: "image/jpeg")
        }, to:"Your URL Here")
        { (result) in
            switch result {
            case .success(let upload, _, _):
                print(result)
    
                upload.uploadProgress(closure: { (progress) in
                    print(progress)
                })
    
                upload.responseJSON { response in
                    //print response.result
                    print(response);
                }
    
            case .failure(let encodingError):
                print(encodingError);
            }
        }
    }
    

    这是最新的工作语法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多