I want to save an epub format file from url into App Document Directory.When I hit this url in browser it provides a downloading file where as when I send the request in NSURLConnection it provides me data, upon converting this data in to NSString return NULL.How to save this file with success.
My Code snippet is this :-
- (void)viewDidLoad
{
NSMutableString *str = [[NSMutableString alloc]
initWithFormat:@"http:// url", tagId];<br/>
NSURL *url = [[NSURL alloc] initWithString:str];
NSLog(@"URL IS :%@",url);
requestBook=[[NSURLRequest alloc] initWithURL:url];
NSLog(@"URL REQUEST :%@",url);
receivedData = [[NSMutableData data] retain];<br/>
connectionDownloadBook =[[NSURLConnection alloc] initWithRequest:requestBook delegate:self];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
if(connection==connectionDownloadBook) {
NSLog(@"%@",connection);
NSData *bookData = [NSURLConnection sendSynchronousRequest:requestBook returningResponse:nil error:&error];
NSLog(@"%@",bookData);
NSString *receivedDataString = [[NSString alloc] initWithData:bookData encoding:NSUTF8StringEncoding];
NSLog(@"String %@",receivedDataString);
[self savePDF:bookData];
}
}
- (void)savePDF:(NSData *)pdfContent
{
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *finalPath = [documentsDirectory stringByAppendingPathComponent:@"myPdf.epub"];
NSLog(@"%@",finalPath);
NSURL *url = [NSURL fileURLWithPath:finalPath];
[pdfContent writeToURL:url atomically:YES];
// [aWebView loadRequest:[NSURLRequest requestWithURL:url]];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ NSLog(@"didReceiveData"); if (connection==connectionDownloadBook) { [receivedData setLength:0]; } } -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ NSLog(@"didReceiveResponse"); if (connection==connectionDownloadBook) { [receivedData setLength:0]; } } -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ NSLog(@"didFailWithError"); //NSLog([NSString stringWithFormat:@"Connection failed: %@", [error description]]); }