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