我一直在嘗試上傳UIImage在服務器上,但在上傳之前我已經將它轉換爲BASE64字符串。該方法是POST,並且我正在發送帶有其他參數的圖像。閱讀了幾個與此相關的答案,但沒有得到任何有用的東西。 這裏是我的代碼無法在iOS上將UIImage上傳到服務器
-(void)makeprofileWithData:(NSString *)urlstring andname:(NSString *)name gender:(NSString *)gender withstatus:(NSString *)status latitide:(NSString *)lat withLongitude:(NSString *)longitude andaddress:(NSString *)address andImage:(NSString *)string;
{
appdel=(AppDelegate *)[UIApplication sharedApplication].delegate;
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",appdel.bseurl,urlstring]];
receivedData = [[NSMutableData alloc] initWithLength:0];
NSString *tempString=[NSString stringWithFormat:@"mobile=%@&name=%@&gender=%@&status=%@&address=%@&latitude=%@&longitude=%@&profile_pic=%@",[[NSUserDefaults standardUserDefaults]objectForKey:@"mobile"],name,gender,status,address,lat,longitude,string];
NSData *requestData = [tempString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];
[NSURLConnection connectionWithRequest: request delegate:self];
}
在這個方法中串是BASE64字符串,我發送其它參數,如手機,名稱位置,地址,性別也由&分開身體。
你能告訴我我在做什麼錯在上面的代碼 – ankyy
我認爲你做得很好根據我,但問題是在你的服務器端他們沒有正確解碼它。告訴他們你使用BASE64轉換。他們相應地解碼。 – Deepak