I have in which I save video file in documents folder it works fine, but I want to get the file size of the saved file, I have searched but did not get result using NSFileManager. Here is the code which I use for saving video. I want to get the file size and show it on UILabel.
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
videoData = [[NSData dataWithContentsOfURL:videoURL] retain];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"Default Album"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil];
NSString *test = @"test";
videopath = [[[NSString alloc] initWithString:[NSString stringWithFormat:@"%@/%@.mp4", documentsDirectory, test]] autorelease];
BOOL success = [videoData writeToFile:videopath atomically:NO];
NSLog(@"Success: %@", success ? @"YES" : @"NO");
NSURL *movieURL = [NSURL fileURLWithPath:videopath];
AVURLAsset *avUrl = [AVURLAsset assetWithURL:movieURL];
CMTime time1 = [avUrl duration];
int seconds = ceil(time1.value / time1.timescale);
NSString *messageA = [NSString stringWithFormat:@"You have recorded video of duration of %d seconds ", seconds];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:messageA
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
AVAsset *asset = [AVAsset assetWithURL:movieURL];// url= give your url video here
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
CMTime time = CMTimeMake(1, 5);// it will create the thumbnail after the 5 sec of video
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:NULL];
UIImage *thumbnail = [UIImage imageWithCGImage:imageRef];
thumbnailImageView.image = thumbnail;
Try this to get the file size:
NSDictionary *fileDictionary = [[NSFileManager defaultManager] fileAttributesAtPath:videopath traverseLink:YES];
fileSize = [fileDictionary fileSize];
Doc: https://developer.apple.com/documentation/foundation/nsfilemanager/1557004-fileattributesatpath
Note: this method is deprecated