一直上传不成功,搜了N遍,尝试了N遍,终于找到了一个相关的,如下:
你可以看一下你传到后台后的数据,看看是不是收到的数据跟你上传的数据不一样。base64编码之后,data里面会含有一些“+”,而“+”通过post传到后台后,会被转换成空格。这样后台就接收不到图片了。你可以让后台将收到数据的空格替换成“+”,或者你看看我写的一个解决方法的bloghttp://blog.youkuaiyun.com/wang790492446/article/details/27309367
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setValue:self.foodNameField.text forKey:@"foodName"];
[dic setValue:[GlobalClass shared].user.userid forKey:@"foodUser"];
[dic setValue:self.foodAddressTextview.text forKey:@"foodAddr"];
[dic setValue:self.foodPriceField.text forKey:@"foodPrice"];
[dic setValue:self.recommendedReasonsTextview.text forKey:@"foodRecommend"];
<span style="color:#ff0000;">NSData *data = [NSData dataWithContentsOfFile:self.foodImagePath];
NSString *baseStr = [data base64Encoding];
NSString *baseString = (__bridge NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)baseStr,
NULL,
CFSTR(":/?#[]@!$&’()*+,;="),
kCFStringEncodingUTF8);
[dic setValue:baseString forKey:@"foodPicBig"];</span>
NSString *jsonStr = [GlobalClass DataTOjsonString:dic];
NSMutableDictionary *mudic = [NSMutableDictionary dictionaryWithObjectsAndKeys:jsonStr,@"data", nil];
NSLog(@"参数:%@\n%@",jsonStr,mudic);
//图片
NSDictionary *imageDic;
if (self.foodImagePath) {
imageDic = [NSDictionary dictionaryWithObjectsAndKeys:self.foodImagePath,@"foodPicBig", nil];
}
[MBProgressHUD showHUDAddedTo:self.mainScrollview animated:YES];
NetRequest *request = [NetRequest requestWithTarget:self SuccessedMethod:@selector(recommendFoodSuccess:) FailedMethod:@selector(failed:)];
[request postWithPath:RecommendFoodUrl params:mudic ImgData:nil ssl:NO];