1

I am beginner of iPhone. I have no idea about how to save pdf file in document directory. I have make the folder in document directory. I have first open the pdf in Webview.but how to store pdf in document directory.

This is my code is...

- (void)viewDidLoad
{
    [super viewDidLoad];
 NSArray *path = [[NSBundle mainBundle] pathsForResourcesOfType:@"pdf" inDirectory:nil];
  UIBarButtonItem *tempButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"starbtnwhite.png"] style:UIBarButtonItemStylePlain target:self action:@selector(favbtnClicked:)];

    self.navigationItem.rightBarButtonItem = tempButton;

 NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *documentFolderPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *imagesFolderPath = [documentFolderPath stringByAppendingPathComponent:@"Favourite"]; 

    //Check if the videos folder already exists, if not, create it!!!
    BOOL isDir;

    if (([fileManager fileExistsAtPath:imagesFolderPath isDirectory:&isDir] && isDir) == FALSE) 
    {
        [[NSFileManager defaultManager] createDirectoryAtPath:imagesFolderPath withIntermediateDirectories:YES attributes:nil error:nil];
    }


if(sel_id==0)
    {
            NSURL *targetURL = [NSURL fileURLWithPath:[path objectAtIndex:0]];
            NSLog(@"targeUrl--%@",targetURL);

            NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
            NSLog(@"request--%@",request);

            [webView loadRequest:request];
            [self.view addSubview:webView];
//            [webView release];

    }
    else if(sel_id == 1)
    {
        NSURL *targetURL = [NSURL fileURLWithPath:[path objectAtIndex:1]];
        NSLog(@"targeUrl--%@",targetURL);

        NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
        NSLog(@"request--%@",request);

        [webView loadRequest:request];
        [self.view addSubview:webView];
//        [webView release];

    }
    else if(sel_id == 2)
    {
        NSURL *targetURL = [NSURL fileURLWithPath:[path objectAtIndex:2]];
        NSLog(@"targeUrl--%@",targetURL);

        NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
        NSLog(@"request--%@",request);

        [webView loadRequest:request];
        [self.view addSubview:webView];
//        [webView release];

    }

}

-(IBAction)favbtnClicked:(id)sender
{
  NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSData *datapdf=[[NSData alloc]init];
    NSString *documentDirectory=[paths objectAtIndex:0];



    NSString *finalPath=[documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"Favourite/%@",webView]];
    NSLog(@"finalpath--%@",finalPath);
    [datapdf writeToFile:finalPath atomically:YES];
    NSLog(@"data--%@",datapdf);

}

sel_id is return the cell of raw selected in tableview and I have make the Favourite folder in document directory and I want to add pdf file in Favourite folder. for that purpose I have created method of favbtnClicked: it is I have save the pdf file in document directory.

but in save like this formate...

Favourite folder >

but I want to save only pdf file like abc.pdf not this formate >

so give any suggestion and source code which is apply in my apps....

1 Answer 1

6

The problem is datapdf had nothing to write .So your favbtnClicked method would be like this:

 -(IBAction)favbtnClicked:(id)sender
{
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectory=[paths objectAtIndex:0];

    NSString *finalPath=[documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"Favourite/myFile.pdf"]]; //check your path correctly and provide your name dynamically
    NSLog(@"finalpath--%@",finalPath);
    NSData *datapdf = [NSData dataWithContentsOfURL:[NSURL urlWithString:yourURLString]]; //add url string here
    NSLog(@"data--%@",datapdf);
    if(datapdf)
       [datapdf writeToFile:finalPath atomically:YES];

}
Sign up to request clarification or add additional context in comments.

2 Comments

this code return in that NSData is null return give any suggestion and source code
Hello. Why i have to check provider name, can u give some introduction link. Thanks

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.