2010-12-15 3 views
1

Как бы я загрузить и сохранить изображение в корневом каталоге приложения поэтому в основном я могу получить доступ изображения с помощьюзагрузить и сохранить изображение в корень

[UIImage imageNamed:@"myimage.jpg"]; 

Благодарности

Мейсон

+2

imageNamed: работает только с изображениями, которые вы развернули с помощью вашего приложения-пакета. Но вы не можете писать в этот пакет - вам нужно сохранить свой образ в папке документов приложения. – henklein

+0

Ой хорошо, так как я могу сделать это через папку с документами? – user393273

ответ

2

Прежде всего, необходимо, чтобы получить изображение данных

NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://media03.linkedin.com/mpr/mpr/shrink_80_80/p/3/000/064/2e2/1bd3849.jpg"]]; 

Затем вам нужно для записи данных в Каталог документов

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *pathLD = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"imageLD%d.jpeg",[[NSDate date] timeIntervalSince1970]]]; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 
if (![fileManager fileExistsAtPath: pathLD]){ 
    [imageData writeToFile:pathLD atomically:YES]; 
} else { 
    NSLog(@"File exists at path:%@", pathLD); 
} 

Чтобы получить изображение из Документов, вы делаете:

[UIImage imageWithContentsOfFile:pathLD]; 

Удача: D;

+0

Спасибо: D большая помощь – user393273

0

вы не должны по разным причинам. Рассмотрите свой каталог приложений как доступный только для чтения.

Необходимо использовать каталог «Документы» или «Библиотека». Apple рекомендует использовать каталог «Документы», если ваши файлы должны быть доступны пользователю через iTunes (если вы включили общий доступ к файлам через iTunes) или используете специальный подкаталог библиотеки (который вам нужно создать с помощью NSFileManager), если он должен 't быть видимым пользователем (но должен быть скопирован).

Вы можете запросить путь к каталогу библиотеки, как это:

NSArray *paths; 
paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, 
      NSUserDomainMask, YES); 
// dir = [paths objectAtIndex:0]; 

Заменитель NSLibraryDirectory с NSDocumentsDirectory получить каталог Документы.

Тогда вы бы метод, который возвращает полный путь к изображению, и вы бы тогда сделать:

[UIImage imageWithContentsOfFile:[self pathForImage:@"myimage.jpg"]] 
+0

Итак, как бы я мог сохранить изображение в первую очередь? – user393273

Смежные вопросы