내 사과를 제출하기 전에 마지막으로 오류 메시지가 표시됩니다. 휴대 전화에 이미지를 저장하면 파일이 손상됩니다. 파일을 열려고하면 오류 Corrupt JPEG data: premature end of data segment
이 표시되고 충돌이 발생합니다.성가신 오류 : JPEG 데이터가 손상되었습니다. 데이터 세그먼트가 조기에 끝납니다.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
[picker.parentViewController dismissModalViewControllerAnimated:NO];
uploadImage = image;
int orient = uploadImage.imageOrientation;
NSString *theOrientation = [NSString stringWithFormat: @"%d", orient];
NSString *latestIDQuery = @"";
NSArray *results = [database executeQuery:@"SELECT * FROM processes ORDER BY id DESC LIMIT 0,1"];
for (NSDictionary *row in results) {
latestIDQuery = [row valueForKey:@"id"];
}
int latestID = [latestIDQuery intValue];
int newID = latestID + 1;
NSString *newIDString = [[NSString alloc] initWithFormat:@"%d", newID];
NSString *imageURL = [NSString stringWithFormat:@"Documents/%@_process.jpg",newIDString];
NSLog(@"Saving here... %@", imageURL);
NSString *uploadImagePath = [NSString stringWithFormat:@"%@_process.jpg",newIDString];
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:imageURL];
NSLog(@"Needs to write something like this: %@", jpgPath);
[UIImageJPEGRepresentation(uploadImage, 1.0) writeToFile:jpgPath atomically:YES];
[database executeNonQuery:@"INSERT INTO processes (image, album, status, orient, ready) VALUES (?, ?, ' In Queue', ?, 'no');", uploadImagePath, selectedID, theOrientation];
TableViewAppDelegate *dataCeter = (TableViewAppDelegate *)[[UIApplication sharedApplication] delegate];
dataCeter.dataSix = nil;
NSString *databaseURL = [NSString stringWithFormat:@"%@_process.jpg",newIDString];
dataCeter.dataSix = databaseURL;
[self showCaption];
}
가 손상하지 않도록 이미지를 저장에 더 나은 방법이있다 :
여기에 이미지를 저장하는 내 코드는? 또한 이미지를 검사하면 이미지가 손상되어 어떻게 다시 충돌하지 않을 것입니까? 나는 imageData가 FF d8로 시작하고 d9 ff로 끝나야한다고 들었다.
감사
Coulton
파일이 거기에 쓰여집니다. – iosfreak
불어를 해독하려고해서 죄송합니다. 결국 당신이 문서 디렉토리에 글을 쓰고있는 것을 봅니다. 따라서 파일은 실제로 거기에 쓰이지 않습니다. 나는 여전히 반환 값과 오류를 확인하는 것이 좋습니다. 행운을 빕니다. – mvds