123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- //
- // LenzFileManager.m
- // LenzCameraNativeModuleForRN
- //
- // Created by lr on 2023/3/8.
- //
- #import "LenzDataManager.h"
- NSString *const LenFileDirectoryVideoPath = @"/Len_VideoStitch_Resources/";
- NSString *const LenFileDirectorySinglePath = @"/single/";
- NSString *const LenFileDirectoryContinuousPath = @"/continuous/";
- NSString *const LenFileDirectoryMoviePath = @"/movie/";
- NSString *const LenFileDirectoryPanoramaPath = @"/panorama/";
- NSString *const LenFileDirectoryAiPanoramaPath = @"/aiPanorama/";
- @implementation LenzDataManager
- + (NSString *)saveImageWith:(NSData *)data mode:(SDKCaptureModeIndex)mode {
- switch (mode) {
- case SDK_CAPTURE_MODE_CONTINUOUS: {
- NSString *path = [self continuousPath];
- if ([data writeToFile:path atomically:NO]) {
- return path;
- }
- }
- break;
- case SDK_CAPTURE_MODE_SINGLE: {
- NSString *path = [self singlePath];
- if ([data writeToFile:path atomically:NO]) {
- return path;
- }
- }
- break;
- case SDK_CAPTURE_MODE_PANORAMA:{
- NSString *path = [self panoramPath];
- if ([data writeToFile:path atomically:NO]) {
- return path;
- }
- }
-
- break;
- case SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA:{
- NSString *path = [self aiPanoramPath];
- if ([data writeToFile:path atomically:NO]) {
- return path;
- }
- }
-
- break;
-
- default:
- return nil;
- break;
- }
- return nil;
- }
- //+ (NSString *)saveVideoUrl:(NSURL *)url model:(SDKCaptureModeIndex)mode {
- // NSString *path = [self moviePath];
- ////
- // NSError *error = nil;
- // NSData *data = [NSData dataWithContentsOfFile:url.absoluteString];
- // BOOL success = [data writeToFile:path atomically:YES];
- // BOOL success1 = [[NSFileManager defaultManager] copyItemAtPath:url.absoluteString toPath:path error:&error];
- //// = [[NSFileManager defaultManager] moveItemAtPath:url.absoluteString toPath:path error:nil];
- // if (success) {
- // return path;
- // } else {
- // return nil;
- // }
- //}
- + (NSString *)singlePath {
- NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
- NSString *key = [NSString stringWithFormat:@"%.0f", timeInterval];
- return [[LenzDataManager singleDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg",key]];
- }
- + (NSString *)continuousPath {
- NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
- NSString *key = [NSString stringWithFormat:@"%.0f", timeInterval];
- return [[LenzDataManager continuousDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg",key]];
- }
- + (NSString *)panoramPath {
- NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
- NSString *key = [NSString stringWithFormat:@"%.0f", timeInterval];
- return [[LenzDataManager panoramsDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg",key]];
- }
- + (NSString *)aiPanoramPath {
- NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
- NSString *key = [NSString stringWithFormat:@"%.0f", timeInterval];
- return [[LenzDataManager aiPanoramsDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg",key]];
- }
- + (NSString *)moviePath {
- NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
- NSString *key = [NSString stringWithFormat:@"%.0f", timeInterval];
- return [[LenzDataManager movieDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mov",key]];
- }
- #pragma mark - Directory
- + (NSString *)creatDirectory {
-
- NSFileManager *fileManager = [NSFileManager defaultManager];
- NSString *path = [LenzDataManager rootDirectory];
- BOOL fileExisted = [fileManager fileExistsAtPath:path isDirectory:nil];
- if (!fileExisted) {
- NSError *error = nil;
- [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];
- if (error) {
- NSLog(@"create root directory fail");
- } else {
- [self creatALLDirectoryIfNeeded];
- return path;
- }
- } else {
- [self creatALLDirectoryIfNeeded];
- }
- return path;
- }
- + (void)creatALLDirectoryIfNeeded {
- [self createSingleDir];
- [self creatContinuousDir];
- [self createMovieDir];
- [self createPanoramsDir];
- [self createAiPanoramsDir];
- }
- + (NSString *)rootDirectory {
- return [[LenzDataManager documentDirectory] stringByAppendingString:LenFileDirectoryVideoPath];
- }
- + (NSString *)documentDirectory {
- NSArray *documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- if ([documentDirectories count] > 0) {
- return [documentDirectories objectAtIndex:0];
- }
-
- return @"";
- }
- + (NSString *)singleDirectory {
- return [[LenzDataManager rootDirectory] stringByAppendingPathComponent:LenFileDirectorySinglePath];
- }
- + (void)createSingleDir {
- NSFileManager *fileManager = [NSFileManager defaultManager];
- BOOL fileExisted = [fileManager fileExistsAtPath:[LenzDataManager singleDirectory] isDirectory:nil];
- if (!fileExisted) {
- NSError *error = nil;
- [fileManager createDirectoryAtPath:[LenzDataManager singleDirectory] withIntermediateDirectories:YES attributes:nil error:&error];
- if (error) {
- NSLog(@"创建single directory失败");
- } else {
- // fail try
- }
- }
- }
- + (NSString *)continuousDirectory {
- return [[LenzDataManager rootDirectory] stringByAppendingPathComponent:LenFileDirectoryContinuousPath];
- }
- + (void)creatContinuousDir {
- NSFileManager *fileManager = [NSFileManager defaultManager];
- BOOL fileExisted = [fileManager fileExistsAtPath:[LenzDataManager continuousDirectory] isDirectory:nil];
- if (!fileExisted) {
- NSError *error = nil;
- [fileManager createDirectoryAtPath:[LenzDataManager continuousDirectory] withIntermediateDirectories:YES attributes:nil error:&error];
- if (error) {
- NSLog(@"创建single directory失败");
- } else {
- // fail try
- }
- }
- }
- + (NSString *)movieDirectory {
- return [[LenzDataManager rootDirectory] stringByAppendingPathComponent:LenFileDirectoryMoviePath];
- }
- + (void)createMovieDir {
- NSFileManager *fileManager = [NSFileManager defaultManager];
- BOOL fileExisted = [fileManager fileExistsAtPath:[LenzDataManager movieDirectory] isDirectory:nil];
- if (!fileExisted) {
- NSError *error = nil;
- [fileManager createDirectoryAtPath:[LenzDataManager movieDirectory] withIntermediateDirectories:YES attributes:nil error:&error];
- if (error) {
- NSLog(@"创建single directory失败");
- } else {
- // fail try
- }
- }
- }
- + (NSString *)panoramsDirectory {
- return [[LenzDataManager rootDirectory] stringByAppendingPathComponent:LenFileDirectoryPanoramaPath];
- }
- + (void)createPanoramsDir {
- NSFileManager *fileManager = [NSFileManager defaultManager];
- BOOL fileExisted = [fileManager fileExistsAtPath:[LenzDataManager panoramsDirectory] isDirectory:nil];
- if (!fileExisted) {
- NSError *error = nil;
- [fileManager createDirectoryAtPath:[LenzDataManager panoramsDirectory] withIntermediateDirectories:YES attributes:nil error:&error];
- if (error) {
- NSLog(@"创建single directory失败");
- } else {
- // fail try
- }
- }
- }
- + (NSString *)aiPanoramsDirectory {
- return [[LenzDataManager rootDirectory] stringByAppendingPathComponent:LenFileDirectoryAiPanoramaPath];
- }
- + (void)createAiPanoramsDir {
- NSFileManager *fileManager = [NSFileManager defaultManager];
- BOOL fileExisted = [fileManager fileExistsAtPath:[LenzDataManager aiPanoramsDirectory] isDirectory:nil];
- if (!fileExisted) {
- NSError *error = nil;
- [fileManager createDirectoryAtPath:[LenzDataManager aiPanoramsDirectory] withIntermediateDirectories:YES attributes:nil error:&error];
- if (error) {
- NSLog(@"创建single directory失败");
- } else {
- // fail try
- }
- }
- }
- @end
|