NSMutableURLRequest를 사용하여 이미지를 웹 서버에 업로드하고 있습니다. 내 코드는 대다수 사용자에게 적합하기 때문에 안정적이라고 생각했지만 일부 사용자는 이미지를 업로드 할 수 없습니다. 내 서버 로그를 보면 게시물 본문을 구성 할 때 경계 오류를 가리키는 경고 인 "0 행의 알 수없는 상태에서 multipart/form-data POST 데이터의 누락 된 경계"경고가 표시되는 경우가 종종 발생합니다.NSMutableURLRequest와 함께 때때로 "경계 없음"오류가 발생했습니다.
다음은
내가 사용하고 무엇을 : 코드가 시간의 PHP 경고 100 %의 결과 경우
request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:[method uppercaseString]];
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data, boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField:@"Content-type"];
NSMutableData *postBody = [NSMutableData data];
// add the image
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"image_upload\"; filename=\"upload.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
NSData *jpegData = UIImageJPEGRepresentation(jpeg, 100);
[postBody appendData:jpegData];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// add the other POST params
keys = [postdata allKeys];
int l = [keys count];
for (int i=0; i<l; i++){
[postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n", [keys objectAtIndex:i]] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[postdata objectForKey:[keys objectAtIndex:i]] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
}
내가 이해할 수 있지만, 아마도 매 30 또는 40 사용자가 한 번 발생합니다. 사용자가이 오류를 받으면 게시하려는 모든 이미지에 대해 동일한 오류가 발생합니다.
누구나 즉시 명백한 것을 볼 수 있습니까? 또는 이것이 간헐적 인 문제가되는 이유에 대한 통찰력이 있습니까?