-
(void)post_uploadFile_WithUrl:(NSString *)path data:(id)data success:(void(^)(NSDictionary *dict))successBlock error:(void(^)(NSError * _Nonnull error))errorBlock{
NSDictionary *params = (NSDictionary *)data;
NSString *urlString = [NSString stringWithFormat:@"%@%@",Chat_APP_SERVER_ADDRESS,path];
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:urlString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
//参数name:是后台给你的图片在服务器上字段名;
//参数fileNmae:自己起得一个名字,
//参数mimeType:这个是决定于后来接收什么类型的图片,接收的时png就用image/png ,接收的时jpeg就用image/jpeg
NSError*parseError =nil;
NSData*jsonData = [NSJSONSerialization dataWithJSONObject:data options:NSJSONWritingPrettyPrinted error:&parseError];
// NSString*str =[[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
// NSLog(@"JSON: %@", str);
//NSString * dataString =[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
[formData appendPartWithFileData:jsonData name:@"file" fileName:@"Filedate.png" mimeType:@"image/png"];
} error:nil];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
//设置服务器返回内容的接受格式
AFHTTPResponseSerializer *responseSer = [AFHTTPResponseSerializer serializer];
// responseSer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", nil];
responseSer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"plain/text", nil];
manager.responseSerializer = responseSer;
NSProgress *progress = nil;
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSData *jsonData = [str dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
NSLog(@"dic====%@", dic);
successBlock(dic);
}
}];
[uploadTask resume];
}
网友评论