1

NSData から非常に奇妙な動作が発生しています。画像データを追加しようとすると、NSData 変数が不可解に nil に設定されます。

NSMutableData *postbody = [NSMutableData data];
    [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@.jpg\"\r\n", filename] dataUsingEncoding:NSUTF8StringEncoding]];
    [postbody appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    UIImage *i = [UIImage imageNamed:@"pic2"];
    NSLog(@"image data %@", UIImagePNGRepresentation(i));
    [postbody appendData:UIImagePNGRepresentation(i)];
    [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    NSString *bodyString = [[NSString alloc] initWithData:postbody encoding:NSUTF8StringEncoding];
    NSLog(@"body %@", bodyString);

上記の画像データのロギングは、UIImagePNGRepresentation(i) が実際にデータを返していることを示していますが、本文がログに記録されると、ログには nil が表示されます。これはなぜでしょうか?

4

1 に答える 1