您好,匿名用户
随意问技术百科期待您的加入

Three20用TTURLRequest发送图片不成功啊

0 投票

我写了这么个方法用来发送图片。怎么看也没错啊。打印TTURLRequest的日志出来看,显示数据已经发出去了。

可是服务器返回的提示就说图片文件为空,这是为什么呀?

+ (void)doAsynchronousRequestPost:(NSString *)url 
							 File:(NSDictionary *)file
						 Delegate:(id)delegate 
						 WithInfo:(NSDictionary *)info {

	TTURLRequest *request = [self requestPost:url Delegate:delegate];
	
	request.response = [[[TTURLJSONResponse alloc] init] autorelease];
	
	if (nil != info) {
		[request setUserInfo:info];
	}
	
	if (nil != file) {
		NSData *imageData = UIImageJPEGRepresentation([file objectForKey:@"data"], 0.7f);
		[request addFile:imageData mimeType:[file objectForKey:@"type"] fileName:[file objectForKey:@"key"]];
	} else {
		return;
	}
	
	[request send];

}
用户头像 提问 2012年 12月1日 @ Rider 上等兵 (281 威望)
分享到:

1个回答

0 投票
 
最佳答案

还是我自己来回答吧。

TTURLRequest的generatePostBody方法中开头默认添加有一句:

[body appendData:[[NSString stringWithFormat:@"--%@\r\n", kStringBoundary]
    dataUsingEncoding:NSUTF8StringEncoding]];

这样会造成httpbody体中的第一个entity的数据为空。

很多服务器上去的是第一个entity的缘故把。

只要把这句话注释掉就好了。

用户头像 回复 2012年 12月1日 @ Cancer 上等兵 (211 威望)
选中 2012年 12月1日 @Rider
提一个问题:

相关问题

0 投票
1 回复 52 阅读
+1 投票
1 回复 55 阅读
0 投票
1 回复 37 阅读
用户头像 提问 2012年 12月1日 @ Veigar 上等兵 (210 威望)
0 投票
1 回复 37 阅读
0 投票
1 回复 25 阅读
用户头像 提问 2014年 2月10日 @ Diana 上等兵 (326 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...