아래 코드를 사용하여 이미지를 서버에 업로드하고 있습니다.Nsmutabledata가 추가 데이터에서 null이 됨
NSData *imageData = [[[NSData alloc]initWithData:UIImageJPEGRepresentation(m_image.image, 100)]retain];
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
//now lets create the body of the post
//set name here
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"ipodfile.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
if (imageData) {
NSLog(@"length %d",[imageData length]);
[body appendData:[NSData dataWithData:imageData]];
}
NSString *bodystring1 = [[NSString alloc]initWithData:body encoding:NSUTF8StringEncoding];
NSLog(@"body : %@",bodystring1);
출력 : 길이 3826304 몸 : (널) 최대한 빨리 몸은 점점 널 (null)을 이미지를 추가로
. 아무 생각 없어요. 왜 이런 일이 일어 났습니까?
'[NSData appendData :]'를 호출 한 후 어떻게'body'가'nil'이 될 수 있습니까? 그것은'body'가'[appendData :]'가 덮어 쓸 수없는 변수이기 때문에 불가능합니다. – trojanfoe
나는 일어날 수 없다는 것을 알고 있지만 일어난 일입니다. 이미지를 선택하고 업로드하는 것은 매우 간단한 코드입니다. NSMutabledata에 제한이 있습니까? –
당신은 당신의 묘사에 좀더 정확하게 말해야합니다. 디버거 내에서 코드를 실행하고 할당 후 변경되는 부분을 보려면 * watch *'body '를 실행하십시오. 나는 결코 그것을하지 않을 것입니다 ... – trojanfoe