UIImage无法保存到文档文件夹ios
Posted
技术标签:
【中文标题】UIImage无法保存到文档文件夹ios【英文标题】:UIImage cant save to document folder ios 【发布时间】:2017-09-05 08:04:09 【问题描述】:我正在尝试将 uiimage 保存到文档文件夹,但无法使用以下代码找到它:
-(void) BtnClicked: (id)sender
NSLog(@"Btn clicked");
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"file2.txt"];
NSString *pngPath = [documentsDirectory stringByAppendingString:@"test2.png"];
NSString *str = @"hello world";
UIImage *uiImage = [UIImage imageNamed:@"test.png"];
NSData *dataImage = [NSData dataWithData:UIImagePNGRepresentation(uiImage)];
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 300, 300)];
imageView.image = uiImage;
[self.view addSubview: imageView];
[dataImage writeToFile:pngPath atomically:YES];
[str writeToFile:filePath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL];
如上所示,我添加了一个字符串一起测试,我可以在Xcode下载的容器中找到file2.txt
但找不到png
文件,我还添加了一个UIImage
视图到显示图像以避免其他错误,并且图像已成功显示。
出了什么问题?
【问题讨论】:
您的pngPath
看起来有问题,您使用的是stringByAppendingString
而不是stringByAppendingPathComponent
【参考方案1】:
你有一个小错误
同时观察
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"file2.txt"];
NSString *pngPath = [documentsDirectory stringByAppendingString:@"test2.png"];
stringByAppendingPathComponent
应该用在stringByAppendingString
的地方
希望能解决你的问题
编辑
您应该创建一个允许对文件夹进行所有操作的类,而不是这样使用
我已经在https://***.com/a/45963431/4601900发布了答案
如果与此相关,请使用该类
【讨论】:
以上是关于UIImage无法保存到文档文件夹ios的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NSFileManager 将 UIImage 保存到文件中?
Xcode iOS 生成 .png 文件并使用 NSFileManager 保存
iOS Swift - 在 UIImage 上画线以保存到文件