私のドキュメント ディレクトリには、Image1 という名前の画像が 1 つあります。
ドキュメントディレクトリフォルダーにImage2という名前の同じ画像をコピーしたい。
どうすればそれができるか教えてください。
私のドキュメント ディレクトリには、Image1 という名前の画像が 1 つあります。
ドキュメントディレクトリフォルダーにImage2という名前の同じ画像をコピーしたい。
どうすればそれができるか教えてください。
次のコードを参照してください。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *imagePath1= [documentDirectory stringByAppendingPathComponent:@"image1.png"];
NSString *imagePath2= [documentDirectory stringByAppendingPathComponent:@"image2.png"];
[[NSFileManager defaultManager] copyItemAtPath:imagePath1 toPath:imagePath2 error:nil];
最初の画像からデータを取得し、同じデータを次のような別の名前で保存します。
NSData *data = UIImageJPEGRepresentation(image1, 1.0);
NSString *str=@"image2.png"
NSString *fileName = [[stringPath stringByAppendingFormat:@"/"] stringByAppendingFormat:str];
NSString *stringPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
[data writeToFile:fileName atomically:YES];
Fatch image と save image の 2 つの計算があります。 Document ディレクトリに保存する画像を fatch し、それを渡して別の名前で画像を保存します。
-(UIImage *)loadImage:(NSString *)name
{
NSString* documentsDirectory=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES) objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:name];
UIImage *res = [UIImage imageWithContentsOfFile:fullPath];
return res;
}
-(void)saveImage:(UIImage *)image withName:(NSString *)name
{
NSData *data = UIImageJPEGRepresentation(image, 1);
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString* documentsDirectory=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES) objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:name];
[fileManager createFileAtPath:fullPath contents:data attributes:nil];
}