이 코드를 사용하는 동안 내 자신의 서버에서 동시에 여러 파일을 에디터를 이용해하려고 : 나는 3 개 장의 사진을캐치되지 않는 예외 'NSFileHandleOperationException'
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
// create
[[NSFileManager defaultManager] createFileAtPath:strFilePath contents:nil attributes:nil];
_file = [NSFileHandle fileHandleForUpdatingAtPath:strFilePath];// read more about file handle
if (_file) {
[_file seekToEndOfFile];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)receivedata
{
//write each data received
if(receivedata != nil){
if (_file) {
[_file seekToEndOfFile];
}
[_file writeData:receivedata];
}
}
- (void)connectionDidFinishLoading:(NSURLConnection*)theConnection {
//close file after finish getting data;
[_file closeFile];
}
- (void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
//do something when downloading failed
}
- (IBAction)downloadFromServer:(id)sender {
NSLog(@"File now being downloaded");
while (i<=3) {
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSURL *strFileURL =[NSURL URLWithString:[NSString stringWithFormat:@"SomePath/pic%d.png", i]];
[request setURL:strFileURL];
NSURLConnection *conection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
[conection start];
strFilePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"pic%d.png", i]];
}
}
, pic1.png, pic2.png 및 pic3.png. 이제이 코드를 실행하면 app은 pic3.png라는 손상된 파일 하나만 저장하고 자동으로 충돌합니다. 세 가지 파일을 모두 다운로드해야하는데, 어디서 잘못 될지 알려주시겠습니까?
답장을 보내 주셔서 감사합니다 ... 이것은 처음으로 이런 종류의 상황을 처리하는 ... 코드 스 니펫으로 나를 도울 수 있습니까? 많은 시간을 내 주셔서 감사합니다. –
그것은 소프트웨어입니다. 코드를 작성하십시오. – gnasher729
나는 내 소프트웨어를 써달라고 부탁하는 것이 아니다. 나는 그 상황에서 처음으로 나를 돕기 위해 당신의 요점을 명확히 할 수있는 발췌 문장을 요구하고 있었다. –