6

カメラで撮影した写真とアプリケーションのビデオ録画を一時ディレクトリの別のフォルダに一時的に保存したいと考えています。タスクが完了すると、データベースに保存されます。

カメラおよびビデオ録画ファイルから撮影した写真を一時ディレクトリ内の別のフォルダに保存するにはどうすればよいですか?

4

6 に答える 6

24

これを探して、一時ファイルを保存するためのキャッシュ フォルダーを取得します。

NSString* path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, 
                                                      NSUserDomainMask,
                                                      YES) lastObject];

そこから、必要なNSFileManagerディレクトリを作成および削除するために使用できます。また、ファイル システムの他の部分と同じようにファイルを保存します。システムが時々キャッシュ ディレクトリをパージすることに注意してください。

そのため、アプリを再起動するまでの間、ファイルが残っている、または消えていることに決して依存しないでください。

于 2011-07-30T10:16:01.240 に答える
8

これを試して:

NSString *tmpDirectory = NSTemporaryDirectory();
NSString *tmpFile = [tmpDirectory stringByAppendingPathComponent:@"temp.txt"];
NSLog(@"Temp File:%@", tmpFile);
于 2013-04-29T23:55:43.403 に答える
2

一時ディレクトリからすべてのファイルを削除する場合は、これを使用します。

//cleanup temp files
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *paths = NSTemporaryDirectory();

    NSArray *contents = [fileManager contentsOfDirectoryAtPath:paths error:NULL];
    NSEnumerator *e = [contents objectEnumerator];
    NSString *filename;

    //NSLog(@"paths: %@ ... contents: %@ ...",paths,  contents);

    while ((filename = [e nextObject]))
    {

        [fileManager removeItemAtPath:[paths stringByAppendingPathComponent:filename] error:NULL];
    }
于 2014-06-08T12:48:34.390 に答える
1

独自のTempフォルダを作成できます...

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *tempFolderPath = [documentsDirectory stringByAppendingPathComponent:@"Temp"];

[[NSFileManager defaultManager] createDirectoryAtPath:tempFolderPath withIntermediateDirectories:YES attributes:nil error:NULL];
于 2011-07-30T12:48:12.310 に答える
0

写真とビデオを別のディレクトリに保存するには、そのディレクトリ パスを変更し、データベースへのパスを保存する必要があります。以下のコードをチェックして、ドキュメント ディレクトリにフォルダーを作成し、一意の名前でファイルを保存します。

NSError *error;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder

NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@“/images”];

if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
{

    [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];

}

NSString *destinationPath = [dataPath stringByAppendingFormat:@"/output_%@.jpg", [dateFormatter stringFromDate:[NSDate date]]];
于 2016-09-08T10:31:07.847 に答える