AFNetworking 上传图片或文件
2016-01-22 16:40
288 查看
需要上传图片或文件,网络请求使用 POST 请求. 具体代码如下:
/*
参数1: 请求地址
参数2,3: 需要上传的图片文件
参数4: 其他参数(字典)
参数5: block 回调
*/
+ (void)uploadImageWithUrl:(NSString *)url
logoImage:(UIImage *)logoImage
bannerImage:(UIImage *)bannerImage
params:(NSDictionary *)params
finish:(void (^)(NSData *,NSDictionary *obj, NSError *))cb
{
// afnetworking 请求
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
// 压缩
NSData *logoImageData = UIImageJPEGRepresentation(logoImage, 1.0);
NSData *bannerImageData = UIImageJPEGRepresentation(bannerImage, 1.0);
// 生成文件名(这里获取当前时间)
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
// 拼接字符串
NSString *logoFileName = [NSString stringWithFormat:@"%@logo.jpg", str];
NSString *bannerFileName = [NSString stringWithFormat:@"%@banner.jpg", str];
// 上传图片,以文件流的格式
[formData appendPartWithFileData:logoImageData name:@"store_label" fileName:logoFileName mimeType:@"image/jpeg"];
/*
请求的时候需要将文件转化成 data
参数1: data 文件
参数2: 上传的属性名称, 需要和后台沟通
参数3: 文件名(最好保证唯一)
参数4: data 类型
*/
[formData appendPartWithFileData:bannerImageData name:@"store_banner" fileName:bannerFileName mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
// 成功
NSDictionary *obj = (NSDictionary *)responseObject;
cb(responseObject, obj, nil);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// 失败
cb(nil, nil, error);
}];
}
/*
参数1: 请求地址
参数2,3: 需要上传的图片文件
参数4: 其他参数(字典)
参数5: block 回调
*/
+ (void)uploadImageWithUrl:(NSString *)url
logoImage:(UIImage *)logoImage
bannerImage:(UIImage *)bannerImage
params:(NSDictionary *)params
finish:(void (^)(NSData *,NSDictionary *obj, NSError *))cb
{
// afnetworking 请求
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
// 压缩
NSData *logoImageData = UIImageJPEGRepresentation(logoImage, 1.0);
NSData *bannerImageData = UIImageJPEGRepresentation(bannerImage, 1.0);
// 生成文件名(这里获取当前时间)
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
// 拼接字符串
NSString *logoFileName = [NSString stringWithFormat:@"%@logo.jpg", str];
NSString *bannerFileName = [NSString stringWithFormat:@"%@banner.jpg", str];
// 上传图片,以文件流的格式
[formData appendPartWithFileData:logoImageData name:@"store_label" fileName:logoFileName mimeType:@"image/jpeg"];
/*
请求的时候需要将文件转化成 data
参数1: data 文件
参数2: 上传的属性名称, 需要和后台沟通
参数3: 文件名(最好保证唯一)
参数4: data 类型
*/
[formData appendPartWithFileData:bannerImageData name:@"store_banner" fileName:bannerFileName mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
// 成功
NSDictionary *obj = (NSDictionary *)responseObject;
cb(responseObject, obj, nil);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// 失败
cb(nil, nil, error);
}];
}
相关文章推荐
- C#遍历文件夹后上传文件夹中所有文件错误案例分析
- VBS模拟POST上传文件的代码
- PHP响应post请求上传文件的方法
- php修改上传图片尺寸的方法
- eWebEditor 上传文件提示格式不正确的解决方法
- 为ckeditor编辑器加上传图片的功能
- 上传图片时JS自动显示图片
- ASP.NET实现上传图片并生成缩略图的方法
- Android获取SD卡中选中图片的路径(URL)示例
- ASP.Net 上传图片并生成高清晰缩略图
- php上传文件的增强函数
- is_uploaded_file函数引发的不能上传文件问题
- 如何限制asp.net中上传文件的大小的代码
- PHP上传文件时文件过大$_FILES为空的解决方法
- FileUpload上传图片(图片不变形)
- 简单PHP上传图片、删除图片实现代码
- php上传图片到指定位置路径保存到数据库的具体实现
- windows下使用IIS配置的PHP无法上传文件的解决方法
- PHP 上传文件大小限制
- 上传图片前判断文件格式与大小验证文件是不是图片