1
먼저 PHP로 전송하기 위해 바이너리 데이터에있는 UIImage의있는 NSData을 변경는 어떻게 내 관련 코드를 보여
NSString *urlString = @"http://136.206.46.10/~katie_xueke/test.php";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init]autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
[request setHTTPShouldHandleCookies:NO];
[request setTimeoutInterval:30.0f];
[request setHTTPMethod:@"POST"];
는 다음 나는 NSMutableData를 썼다 :
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSMutableData *body = [NSMutableData data];
//Image
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name =\"image\";filename=\"%@\"\r\n",imageName] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type:application/octet-stream\r\n\r\n"]dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Length: %@\r\n",postLength]dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"--%@--",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
$$ 질문은 :있는 NSData가 콘솔 창에 보여 주었다 서버 측과 신체 부위에 보낼 수없는 것 같이이다 :
Content-Disposition: form-data; name ="image";filename="2012:03:06 15:06:48"
Content-Type:application/octet-stream
Content-Length: 164692
‰PNG
을하기 위해 바이너리 데이터에있는 UIImage의있는 NSData을 변경하는 방법 PHP에 보내 ??
PS : 나는 UINT8 방법
UInt8 *rawData = [imageData bytes];
을 시도하지만에서 iOS 5가 사용되지 않는 것 같다. PHP는 측면에서
는 :
$uploaddir = './upload/';
echo "recive a image";
$file = basename($_FILES['userfile']['name']);
$uploadfile = $uploaddir . $file;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "/uploads/{$file}";
}
나는 다른 곳에서 그것을 복사 나는 웹 페이지 내 POST 이미지를 표시하는 방법을 모르겠어요.
누군가 나를 도울 수 있습니까?
감사합니다.
당신은 제대로 데이터에 이미지를 변환 않았다하지만 당신은 문자열로 바이너리를보기 위해 노력하고 있습니다. 이 출력은 PNG 헤더의 일부이며 널 문자가 발생하기 때문에 인쇄가 중지됩니다. 데이터를 덤프하려면 16 진수를 사용해야합니다. ('NSLog' NSData' 객체는 16 진수 덤프를 수행합니다) – Joe
PHP를 사용하여 이미지를 표시하는 방법을 알고 있습니까? –
'-bytes'는 확실히 더 이상 사용되지 않습니다. 그것은 클래스의 프리미티브입니다! 무엇이 당신을 믿게 만들었습니까? – kperryua