设为首页 加入收藏

TOP

iOS上传图片和视频(base64和file)(一)
2019-08-26 07:02:12 】 浏览:56
Tags:iOS 上传 图片 视频 base64 file

前言
iOS开发中经常会使用到图片和视频上传及保存到相册,下面我讲介绍视频图片的两种上传服务器的方法。以阿里云的OSS服务器为例。

友情提示:
上传图片方法在APP中使用很广泛,最好单独写一个图片上传的类,这样就很方便了。

base64上传图片:
NSString *strType = [GXToolClass getBase64Str:image];

    NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithCapacity:1];

    [dic setValue:strType forKey:@"base64"];

    

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    [manager POST:[BASE_HOST stringByAppendingString:Http_Global_OneImage] parameters:dic progress:^(NSProgress * _Nonnull uploadProgress) {

        

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        if ([responseObject[GetCode] intValue] == 0) {

            NSDictionary *dic = responseObject[GetData];

            NSString *file = dic[@"file"];

            if (self.block) {

                self.block(file);

            }

        }else{

            [[AppDelegate getApp] showAlert:responseObject[GetNewMess] type:AlertViewType_Toast];

            if (self.otherBlock) {

                self.otherBlock(responseObject[GetNewMess]);

            }

        }

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        if (self.failBlock) {

            [[AppDelegate getApp] showAlert:@"上传失败请稍后重试" type:AlertViewType_Toast];

            self.failBlock(@"上传失败请稍后重试");

        }

    }];

 

+(NSString *)getBase64Str:(UIImage *)ima //图片转成base64的 方法

{

    NSData *data = UIImageJPEGRepresentation(ima, 0.3);

    NSString *imageStyle = [self getImageStyle:data];

    NSString *str = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

    str = [NSString stringWithFormat:@"data:image/%@;base64,%@", imageStyle, str];

    return str;

}

file视频上传:
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    manager.requestSerializer = [self getHttpHeader];

//    manager.responseSerializer.acceptableContentTypes = nil;

    

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/java script",@"text/html", nil];

    

    [self beginLoading:@"上传中" view:self.view];

    [manager POST:[BASE_HOST stringByAppendingString:Http_Main_VideoUpLoad] parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

        

        NSString *strimageStyle = [GXToolClass getImageStyle:dataIma];

        [formD

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ios开发UI篇—UITextfield 下一篇iOS聊天客服功能(Udesk)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目