一、实现照片的上传,使用asi的方法,异步上传
头文件:#import "ASIHTTPRequest.h"//asi的头文件,我们要用它来实现文件上传
#import "ASIFormDataRequest.h"
1、把要传的文件读进内存
UIImage *image = [UIImage imageNamed:@"火影08.png"];
2、把读进来文件变成NSData
//NSData *data = UIImageJPEGRepresentation(image, 1);//JPG
NSData *data = UIImagePNGRepresentation(image);
3、asi的初始化
ASIFormDataRequest *req = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://10.0.8.8/sns/my/upload_photo.php"]];//写的参数是地址+接口
4、设置这次请求的参数们
//NSString *auth = [[[NSUserDefaults standardUserDefaults] objectForKey:@"auth"] urlEncodeString];
4.1普通数据参数
//[req setPostValue:auth forKey:@"m_auth"];不需要写这个auth参数
[req setPostValue:self.albumId forKey:@"albumid"];
4.2文件类型参数
[req setData:data withFileName:@"pp.png" andContentType:@"image/png" forKey:@"attach"];
//第一个参数就是要传的文件的data
//第二个参数是文件名
//第三个参数是文件类型
//第四个参数是参数key
5、设置代理
req.delegate =self;
6、设置超时
req.timeOutSeconds = 10;
7、开始
[req startAsynchronous];
二、实现照片的下载(异步下载到沙盒,由沙盒读文件)
头文件:#import "UIImageView+WebCache.h"//sdWebImage的一个类别
UIImageView *picImage = [[UIImageView alloc] initWithFrame:CGRectMake(5, 5, 30, 30)];
[cell.contentView addSubview:picImage];
[picImage release];
//使用sdWebImage的方法来异步下载图片,然后在贴在咱们imageView上
NSLog(@"%@",[NSString stringWithFormat:@"http://10.0.8.8/sns/%@",self.dataArr[indexPath.row]]);
//sd的类别方法
[picImage setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://10.0.8.8/sns/%@",self.dataArr[indexPath.row]]]];//从数据源里取出当前行的图片名称,然后拼上图片地址,在这里进行异步下载