iOS 上传图片(base64 和 file类型)

1. base64 上传图片


 *  上传图片到服务器

 *

 *  @param image

 *  @param photoID

 *  @param photoType

 */

- (void)uploadPhotoToSrver:(UIImage *) image withPhotoID:(NSString *)photoID andPhotoType:(PhotoType)type andImageText:(NSString *)text {

    static int upLoadCount = 0;

    NSData *imageData = UIImageJPEGRepresentation(scaledImg, 0.6); 

    NSString *dataStr = [imageData base64EncodedStringWithOptions:0];

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/xml"];

    manager.requestSerializer = [AFHTTPRequestSerializer serializer];

    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

//参数

    NSDictionary *parameters = @{@"UserID" : userInfo.UserID,  @"imageDataStr": dataStr};

// url String

    NSString *baseURL = [NSString stringWithFormat: @"%@%@", WEBBASEURL, WEBUploadPhotoDataAction];



    [manager POST:baseURL parameters:parameters success:^(AFHTTPRequestOperation *operation,id responseObject) {

        NSLog(@"上传成功");

    }failure:^(AFHTTPRequestOperation *operation,NSError *error) {

        MYNSLOG(@"~~~~~~~~%@",error);

    }];

    

}

2. file 文件上传图片 (对应服务器上的[file]类型)


- (void)personalUploadHeadImgInterfaceWithImage:(UIImage *)uploadImage  {

// 参数

    NSDictionary *parameterDict = @{@"userkey" : appDelegate.userKeyString};

    

    //网络请求管理器

    AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];

    sessionManager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];

    NSString *requestUrlStr = [NSString stringWithFormat:@"%@%@", WEBBASEURL,  WEBInterFace_Personal_UploadHeadImg];

    [sessionManager POST:requestUrlStr parameters:parameterDict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

        // 上传文件  服务器对应[file]

        NSData *imageData = UIImageJPEGRepresentation(uploadImage, imageType == 1);

        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

        formatter.dateFormat = @"yyyyMMddHHmmss";

        NSString *str = [formatter stringFromDate:[NSDate date]];

        NSString *fileName = [NSString stringWithFormat:@"%@%@.jpg", appDelegate.userKeyString, str];

        

        [formData appendPartWithFileData:imageData name:@"headImg"  fileName:fileName mimeType:@"image/jpg"];       // 上传图片的参数key

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

        MYLOG(@"success");



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

        MYLOG(@"failure:%@", error);

    }];

}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,350评论 19 139
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,235评论 0 15
  • 本文包括:1、文件上传概述2、利用 Commons-fileupload 组件实现文件上传3、核心API——Dis...
    廖少少阅读 12,732评论 5 91
  • 他出生在江西农村,从小家境贫寒,还是在读书的时候,就开始勤工俭学,起早贪黑的打工送快递,在别的同学还在拼命和大家比...
    云皞阅读 160评论 0 0
  • 现在想想女人真不容易,你生活丰富点,业余活动多一点,人家会说你争强好胜,让男人有压力,或干脆说你不需要男人(说这话...
    Angelerqi阅读 247评论 0 0

友情链接更多精彩内容