2016-03-23 2 views
1

Я получаю responseObject как этотПолучить изображение с сервера

responseObject = { "IMG": "изображения/ProfileImage/defaultImg.jpg", }

я должен хранить это изображение в папке приложения. Есть какой-либо способ сделать это.

+0

Каков полный URL-адрес изображения? то, что когда-либо вы отправляли в качестве объекта, не имеет полного пути, он не может быть загружен с сервера без полного пути. –

+0

, если u получить только один путь, почему u ненужное сохранение в папку, просто добавить в NSuserdefault its enought –

+0

OP хочет сохранить изображение в каталог, а не URL. –

ответ

0

Путь является неполным

Вам необходимо добавить базовый URL перед "изображения/ProfileImage/defaultImg.jpg"

Тогда

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    NSString *urlToDownload = BaseURL + "images/ProfileImage/defaultImg.jpg"; 
    NSURL *url = [NSURL URLWithString:urlToDownload]; 
    NSData *urlData = [NSData dataWithContentsOfURL:url]; 
    if (urlData) 
    { 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *documentsDirectory = [paths objectAtIndex:0]; 

     NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"defaultImg.png"]; 
     //saving is done on main thread 
     dispatch_async(dispatch_get_main_queue(), ^{ 
      [urlData writeToFile:filePath atomically:YES]; 
      NSLog(@"File Saved !"); 
     }); 
    } 

}); 
+0

Я могу создать папку в каталоге документа. но мне нужно создать папку в телефоне для приложения. ех. в Android-телефоне, если мы скачим whatsApp, он покажет папку whatsApp в My files/sdcard, а в папке whatsApp будут разные папки, такие как WhatsApp Images, WhatsApp Video, WhatsApp Documents и т. д. – Nisha

0

Вот код для загрузки изображения и сохранения в локальный, то есть каталог «Документ» в папке приложения iOS

Код ниже urlString - это URL-адрес изображения.

dispatch_queue_t downloadThumbNail = dispatch_queue_create("com.download.thumbnail", NULL); 
    dispatch_async(downloadThumbNail,^
    { 
     NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]; 
     UIImage *imageThumb = [UIImage imageWithData:imageData]; 
     dispatch_async(dispatch_get_main_queue(), 
     ^{ 
      NSString *str = @“filename.png”; 
      NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
      NSString *documentsPath = [paths objectAtIndex:0]; 
      NSString *filePath = [documentsPath stringByAppendingPathComponent:str]; 
      NSData *pngData = UIImagePNGRepresentation(imageThumb); 
      [pngData writeToFile:filePath atomically:YES]; 
     }); 
    }); 

Наслаждайтесь кодированием.

+0

эй, это создаст папку на ПК, но я хочу для создания папки iPhone с именем appName, в котором есть wl-файл с двумя папками profileImage и postImage. и я хочу сохранить это изображение в папке profileImage. – Nisha

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