这使我抓了相当长的时间。
我正准备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。
我绝对上当了。请帮助>。<S
编辑
在下面发生了一些崩溃之后,我意识到它肯定是在发布图像。
NSLog(@"postData = %@",[postData length]);
显示280861(字节?),但是一个带有<?php print_r($_FILES); ?>
返回Array的PHP文件{}
。
解决:
[postData appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\";\r\nfilename=\"%@.jpeg\"\r\nContent-Type: image/jpeg\r\n\r\n", key,key] dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[NSData dataWithData:imageData]];
[postData appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
我已经包含的数据之后的第一个换行符似乎已经解决了这个问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句