美文网首页iOS大咖说程序员
iOS 上传图片(base64 和 file类型)

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

作者: 苦可乐 | 来源:发表于2018-04-18 09:48 被阅读66次

    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);
    
        }];
    
    }
    

    相关文章

      网友评论

        本文标题:iOS 上传图片(base64 和 file类型)

        本文链接:https://www.haomeiwen.com/subject/xbzmkftx.html