我正在使用以下代码将图片保存在NSDocumentDirectory
-(BOOL)saveImage:(UIImage *)image name:(NSString *)name{
NSString *dir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [NSString pathWithComponents:[NSArray arrayWithObjects:dir, name, nil]];
BOOL ok = [[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
if (!ok) {
NSLog(@"Error creating file %@", path);
}
else {
NSFileHandle* myFileHandle = [NSFileHandle fileHandleForWritingAtPath:path];
[myFileHandle writeData:UIImagePNGRepresentation(image)];
[myFileHandle closeFile];
}
return ok;
}
名称通常是下载图像的网址。
文件名的长度有限制吗?你知道有时网址可能超长......
谢谢
答案 0 :(得分:29)
查看syslimits.h中的PATH_MAX常量:91
...
#define PATH_MAX 1024 /* max bytes in pathname */
...
您可以通过以下方式自行测试:
NSLog(@"%i", PATH_MAX);
只是为了确保。