tmp: 存放临时数据,此目录下的数据不会通过iCloud进行同步
获取tmp的目录
NSString *tmpPath=NSTemporaryDirectory();
下载图片,放在Documents 下的Imgs文件
1.创建文件夹
(
1.获取tmp的目录
2.拼接成我们想要的文件目录 , 接着进行判断是否之前存在该路径
3.假设不存 , 那么进行文件夹的创建
4.判断是否创建成功
)
-(NSString *)createDirInTmp:(NSString *)dirName{
NSString *tmpPath=NSTemporaryDirectory();
//想要的文件夹路径
NSString *dirPath= [tmpPath stringByAppendingPathComponent:dirName];
NSFileManager *fileManager=[NSFileManager defaultManager];
if ( ![fileManager fileExistsAtPath:dirPath]) {
//文件夹的创建
NSError *error;
BOOL isSuccess= [fileManager createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:&error];
if (!isSuccess) {
NSLog(@"error=%@",error.debugDescription);
dirPath=nil;
}
}
return dirPath;
}
2.将图片放入Imgs文件夹中
(
1.调用创建文件夹的方法 , 判断文件夹是否为nil
2.如果文件夹不为nil 接着获得每张图片的路径
3.判断每张图片的路径是否之前存在
4.假设不存在,就对每张图片的url进行编码,防止存在中文
5.用NSDate读取每张编码后的图片
6.判断是否读取成功
)
NSString *imgsDocumentPath= [self createDirInTmp:@"Imgs"];
NSArray *imgsArray=@[@"网上图片1",@"网上图片2"];
if (imgsDocumentPath !=nil) {
for (int i=0; i<imgsArray.count; i++) {
NSString *imgsString =[imgsArray[i] lastPathComponent];
//获取每张图片的路径
NSString *imgsPath=[imgsDocumentPath stringByAppendingPathComponent:imgsString];
NSFileManager *fileManager=[NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:imgsPath]) {
//将每张图片的url进行编码(防止存在中文)
NSString *urlString= [imgsArray[i] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSData *data= [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
if (data==nil) {
NSLog(@"网络有问题,请稍后再下载");
}
else{
BOOL isSuccess= [data writeToFile:imgsPath atomically:YES];
if (isSuccess) {
NSLog(@"图片下载成功");
}
else{
NSLog(@"下载失败");
}
}
}
}
}