这让我挠了一段时间。NSData appendData:UIImageJPEGRepresentation()返回零
我正在准备UIImage
作为HTTP request
的一部分发布。我用下面的代码这样做:
[postData appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[[NSString stringWithFormat:@"Content-Disposition: attachment; name=\"q%@\"; filename=\".jpg\"\r\n" , key] dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[NSData dataWithData:UIImageJPEGRepresentation(image, 1.0)]];
[postData appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
我遇到的问题是,postData
是null
运行这些行之后。使用NSLog
我发现[postData appendData:[NSData dataWithData:UIImageJPEGRepresentation(image, 1.0)]];
是导致这种情况发生的线。然后我继续看看图像是否是问题。 UIImageJPEGRepresentation(image, 1.0)
将大量数据输出到控制台,并将图像添加到UIImageView
显示我期待的.jpg。
我完全被诅咒了。请帮助>。 < 小号
编辑
略低于我一个崩溃之后已经意识到,它肯定张贴图片 。
NSLog(@"postData = %@",[postData length]);
显示280861(字节?),但<?php print_r($_FILES); ?>
返回数组{}
的PHP文件。
你如何创建'postData'实例? – Wain
NSString * jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSString * post = [NSString stringWithFormat:@“&json =%@”,jsonString]; NSMutableData * postData = [NSMutableData dataWithData:[post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO]]; UIImage * image = xxxxx –
刚注意到那是ASCII和其余的UTF8。我改变了这个,没有改进 –