欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Alamofire 上传图片(文件)

程序员文章站 2022-04-08 16:06:43
...

最近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;


链接:https://www.jianshu.com/p/cdbad52fd340

相关标签: 上传图片