美文网首页
Alamofire 上传图片(文件)

Alamofire 上传图片(文件)

作者: MooGoo | 来源:发表于2016-04-18 08:38 被阅读4111次

    最近AFNetworking的作者Matt Thompson 提出了一个新的类似AFNetworking的网络基础库,并且专门使用最新的Swift语言写的,名为 Alamofire.
    Alamofire 在文件上传时提供了简单的方法 upload,我们可以使用它完成文件上传功能

    客户端代码:

    func load() {
            print("开始上传")
            let file = NSBundle.mainBundle().pathForResource("Mog", ofType: "png")
            let imageData = UIImagePNGRepresentation(UIImage(contentsOfFile: file!)!)
            
            
            Alamofire.upload(.POST, "http://api.laravel.com/user/file", multipartFormData: { (data) in
                /**
                 *   data: 图片, name: 服务器接收文件的参数名(判断是哪一张图片), fileName: 服务器获取到图片的名称, mimeType: 文件类型
                 */
                data.appendBodyPart(data: imageData!, name: "file", fileName: "fileasdsad", mimeType: "image/*")
                //   TO DO ...   这里传递更多参数
                }) { (result) in
                    print("数据准备完成;")
                    switch result {
                    case .Success(let upload, _, _):
    //                    case .Success(request: Request, streamingFromDisk: Bool, streamFileURL: NSURL?):
                        upload.responseString(completionHandler: { (respone) in
                            print(respone)
                        })
                    case .Failure(let err):
                        print(err)
                        break
                    }
            }
    

    服务器如何接收?
    以php为例:

    //   'file' 对应客户端的name字段名
    $file = isset($_FILES['file']) ? $_FILE['file'] : null;
    

    更多内容可以关注我的个人博客:Mog的个人博客

    相关文章

      网友评论

          本文标题:Alamofire 上传图片(文件)

          本文链接:https://www.haomeiwen.com/subject/vsxalttx.html