Изтегляне на файл в папка в iPhone

Нов съм в iPhone,

Направих приложение, в което, когато потребител изтегли нещо, то се изтегля в DocumentDirectory

Искам изтегляне в моята папка, която създадох в DocumentDirectory

Как да постигнете това?

Мислех, че ще изтегля файла в моя DocumentDirectory и ще преместя този файл в моята папка в DocumentDirectory.

Добра практика ли е?

Ето моят кодов фрагмент, но все още не мога да преместя файла си.

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {

    NSString *file = [NSString stringWithString:[url absoluteString]];
    NSURL *fileURL = [NSURL URLWithString:file];

    NSURLRequest *req = [NSURLRequest requestWithURL:fileURL];
    [NSURLConnection connectionWithRequest:req delegate:self];


    NSString *DestPath=[[[SourcePath stringByAppendingString:@"/"]stringByAppendingString:BookCateg]stringByAppendingString:@"/"];

                   if ([fm copyItemAtPath:SourcePath toPath:DestPath error:&error]) 
                   {
                      NSLog(@"Success !");
                   }
                  else{
                      NSLog(@"Fail to Move!");
                   }

}

Моят дневник показва Fail to Move!

Всяка помощ ще бъде оценена.


person Krunal    schedule 25.07.2012    source източник


Отговори (4)


Трябва директно да изтеглите файла в папката на директорията с документи и за това трябва да създадете директория, както предложи @iPhone Developer, и да напишете файл в тази директория

Например:

  NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"/File"];
  error = nil;
  if (![[NSFileManager defaultManager] fileExistsAtPath:stringPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:stringPath withIntermediateDirectories:NO attributes:nil error:&error];

  NSURL *url = [NSURL URLWithString:@"http://www.ndqatar.mobi/18December/admin/rington/133/QatarDay13.mp3"];
  NSData *data = [NSData dataWithContentsOfURL:url];
  if(data)
  {
    stringPath = [stringPath stringByAppendingPathComponent:[url lastPathComponent]];
    [data writeToFile:stringPath atomically:YES];
  }

Ако искате, можете да преместите файл по този начин:

 NSString *destPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"/Dest"];
  error = nil;
  if (![[NSFileManager defaultManager] fileExistsAtPath:destPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:destPath withIntermediateDirectories:NO attributes:nil error:&error];
  destPath = [destPath stringByAppendingPathComponent:[stringPath lastPathComponent];];

 [[NSFileManager defaultManager] copyItemAtPath:stringPath toPath:destPath error:&error];
person Paresh Navadiya    schedule 25.07.2012

Можете да използвате следния код:

NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"/Your Folder Name"];

    error = nil;
    if (![[NSFileManager defaultManager] fileExistsAtPath:stringPath])
        [[NSFileManager defaultManager] createDirectoryAtPath:stringPath withIntermediateDirectories:NO attributes:nil error:&error];
NSString *DestPath=[stringPath stringByAppendingString:@"/Your file Name"];
person Tripti Kumar    schedule 25.07.2012

Използвате низ чрез добавяне на низ вместо низ чрез добавяне на компонент път, това ще добави пътя и вашият файл ще се премести там

Насладете се на кодирането

person iSanjay    schedule 25.07.2012

Framework: ReactJS
Library: Material-UI
Version: 4.0

опитвам се да използвам https://material-ui.com/api/button/ (добавете връзка в href на бутона) и работи на ipad/iphone/ios safari.

import Button from '@material-ui/core/Button';
<Button href={add_your_link_here} />
person Shobhit Goel    schedule 14.08.2019