這讓我撓了一段時間。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。我改變了這個,沒有改進 –