iOS 兩種方式上傳圖片

1.用base64把圖片轉化為字符串作為關鍵字上傳
主要是獲取到圖片,然后轉化為字符串上傳

 //先判斷圖片是否存在
    if (image != nil) {
        //圖片顯示在界面上
//        [changeImg setBackgroundImage:image forState:UIControlStateNormal];
        
        //以下是保存文件到沙盒路徑下
        //把圖片轉成NSData類型的數據來保存文件
        NSData *data;
        //判斷圖片是不是png格式的文件
        if (UIImagePNGRepresentation(image)) {
            //返回為png圖像。
            data = UIImagePNGRepresentation(image);
        }else {
            //返回為JPEG圖像。
            data = UIImageJPEGRepresentation(image, 1.0);
        }
        NSString *imageStr = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}

2.用AFNetworking上傳

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
    [manager POST:urlStr parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
//先判斷圖片是否存在
        if (_SelectImage == nil) {
            return ;
        } else {
            UIImage *iamge = _SelectImage;
            NSData *data = UIImagePNGRepresentation(iamge);
            [formData appendPartWithFileData:data name:@"file" fileName:@"file.png" mimeType:@"image/png"];
        }
    } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSLog(@"%@", responseObject);
        NSDictionary *dic = responseObject;
        if ([dic[@"Code"] isEqualToString:@"000000"]) {
            [hud hideAnimated:YES];
            [Tool showHUDWithString:@"保存資料成功" AndView:self.view];
        } else {
            [hud hideAnimated:YES];
            [Tool showHUDWithString:dic[@"Msg"] AndView:self.view];
        }
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        [hud hideAnimated:YES];
        [Tool showHUDWithString:@"網絡君跑路了。。。" AndView:self.view];
        NSLog(@"%@",error);
    }];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容