アップロード ファイルに問題があります。Objective-C から Java にファイルを送信しています。
サーバ側:
logger は tomcat に表示されません。
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody MessageWrapper getMessage(@RequestBody MessageWrapper msg, @RequestParam("photo") MultipartFile file) throws Exception {
logger.info("Send");
/*
my code
*/
return msg;
}
クライアント側:
__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setData:message.imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"photo"];
NSArray *toEmail = [message.to componentsSeparatedByString:@","];
NSArray *objects = [NSArray arrayWithObjects:toEmail, message.subject, message.content, nil];
NSArray *keys = [NSArray arrayWithObjects:@"to", @"subject", @"body", nil];
NSDictionary *msgDict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
NSString *jsonRequest = [msgDict JSONRepresentation];
NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]];
[request setRequestMethod:@"POST"];
[request setUseCookiePersistence:NO];
[request addRequestHeader:@"Content-type" value:@"application/json"];
[request setRequestCookies:[NSMutableArray arrayWithObject:[self setKidCookieParams]]];
[request setDelegate:self];
[request setPostBody:[[NSMutableData alloc] initWithData:requestData]];
[request startAsynchronous];
次の行がなくても、正しく機能します。
[request setData:message.imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"photo"];
and server side like this:
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody MessageWrapper sendMessage(@RequestBody MessageWrapper msg) throws Exception {
logger.info("Send");
/*
my code
*/
return msg;
}
私を助けてください。前もって感謝します!