首页 > ios 上传文件

ios 上传文件

在ios开发中,如何把一张图片上传到服务器呢?
知道的只有服务器给的一个接口和一张本地图片的路径


导入ASIHTTP
使用ASIFormDataRequest

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];//接口url
_asiRequest = request;//一定要有活的对象在request的生命周期对request持有强引用
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];//从本地文件读图片到内存
NSData *data = UIImagePNGRepresentation(image);//转为nsdata对象
[_asiRequest addData:data withFileName:fileName andContentType:contentType forKey:key];//这个相当于HTML表单中的文件
[request setPostValue:@"xxx" forKey:@"xxx"];//这个相当于HTML表单中的值
request.delegate = self;
[_asiRequest startAsynchronous];

直接用NSURLConnection就行,把图片从本地读出来拿到NSData,放进HTTPBody中,然后设置好Header部分,发一个post请求就行。不一定非得借助第三方库


你这样的需求,在实际开发中可能是关于用户上传图片发表心情,或者设置头像。
当然我们可以用AFN 等框架完成此需求,但是AFN做文件上传的时候会有问题,AFN兼顾的场景太多缘由。
所以,我们可以用参照HTTP W3C格式,firebug调试,自己拼接上传。
而且尽量用将数据转换成JSON,也是方便的后端开发,符合现在流行的Restful开发设计风格。

【热门文章】
【热门文章】