ASIFormDataRequest 上传图片

1. ASI框架后期都没有更新了,需要注意

  ASIFormDataRequest *uploadImageRequest= [ ASIFormDataRequest requestWithURL : [NSURL URLWithString:[[NSString stringWithFormat:@"%@Works/release",HaoSe_URL] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ]];
    
    [uploadImageRequest setStringEncoding:NSUTF8StringEncoding];
    
    [uploadImageRequest setRequestMethod:@"POST"];
    //有些接口要token要放在头里的应该这样写
    [uploadImageRequest addRequestHeader:@"token" value:TOKEN];
    //传的类似是字典,要转换成对象
    [uploadImageRequest setPostValue:[NSNumber numberWithInt:[USERID intValue]] forKey:@"user_id"];
    
    if (NULL_STR(_descStr)) {
        [uploadImageRequest setPostValue:@"" forKey:@"title"];
    }else{
        [uploadImageRequest setPostValue:_descStr forKey:@"title"];
    }

    [uploadImageRequest setPostValue:[NSNumber numberWithInt:(int)copyright] forKey:@"copyright"];
    
    [uploadImageRequest setPostValue:[NSNumber numberWithInt:(int)related_activity] forKey:@"related_activity"];
    
    [uploadImageRequest setPostValue:[NSNumber numberWithInt:(int)related_point] forKey:@"related_shoot"];
//这个地方是传图片,重要的代码在这里
  if (array.count > 0) {
        for (int i = 0; i < array.count ;i++) {
            
            UIImage *image = nil;
            ZLPhotoAssets *asset = [array objectAtIndex:i];
            if ([asset isKindOfClass:[ZLPhotoAssets class]]) {
                
                image = asset.originImage;
            }else if ([asset isKindOfClass:[NSString class]]){
                
            }else if([asset isKindOfClass:[UIImage class]]){
                
                image = (UIImage *)asset;
            }
            NSData  *imageData = UIImageJPEGRepresentation(image, 0.2);
            //这个是核心代码
            [uploadImageRequest addData:imageData forKey:@"images[]"];
        }
        
    }

    
    [uploadImageRequest setPostFormat:ASIMultipartFormDataPostFormat];

    [uploadImageRequest setDelegate:self];
    
    [uploadImageRequest setDidFinishSelector : @selector (responseComplete:)];
    
    [uploadImageRequest setDidFailSelector : @selector (responseFailed:)];
    
    [uploadImageRequest startAsynchronous];

上传后的回调

-(void)responseComplete:(ASIHTTPRequest*)request{
    
    NSString *responseString = [request responseString];
    
    NSDictionary *result = [NSJSONSerialization JSONObjectWithData:[request responseData] options:NSJSONReadingMutableContainers error:nil];

    NSLog(@"上传成功。。。。。。。%@---%@",responseString,result);

}

-(void)responseFailed:(ASIHTTPRequest*)request{
    NSString *responseString = [request responseString];
    NSLog(@"上传失败。。。。。。。%@",responseString);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,715评论 25 709
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 5,295评论 1 27
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,226评论 4 61
  • 这是2010年4月的出游。 说西塘被誉为“生活着的千年古镇”,拍照游玩赏景非他莫属时,即刻动心,遂排上日程,在裴妞...
    天淡云闲阅读 4,030评论 3 9
  • 城很大 ,物也精致 远山却是(确实)朦胧。
    轲以阅读 832评论 0 2