14
tôi đang sử dụng mã dưới đây để tiết kiệm một hình ảnh trong tên NSDocumentDirectory
chiều dài tối đa của tên tập tin
-(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;
}
thường là url của nơi hình ảnh được tải xuống.
có hạn chế về độ dài của tên tệp không? Bạn có biết đôi khi các url có thể siêu dài ...
cảm ơn bạn
Cũng cần lưu ý độ dài của thành phần tên tệp của đường dẫn - trong cùng tiêu đề '#define NAME_MAX 255'. – petert
Điều này nên được bao gồm trong câu trả lời – Minimi
Trong thực tế, có thể khôn ngoan để ở lại phần nào dưới PATH_MAX cho đường dẫn đến tài nguyên trong ứng dụng theo [bài đăng này] (https://deciphertools.com/blog/2014_10_01_beware_of_long_pathnames/). Nó cho thấy 932 ký tự làm việc tối đa, như việc sử dụng các thư mục trung gian trong quá trình sao lưu iTunes/iCloud có thể khiến tổng chiều dài đường dẫn vượt quá PATH_MAX, dẫn đến việc không sao lưu/khôi phục ứng dụng của bạn. – user2067021