NSCacheDirectory + UIImage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • NSCacheDirectory + UIImage

    Hallo,
    ich versuche ein Image runterzuladen und diese in das CacheDirectory zu speichern.
    Nachdem Speichern möchte ich dann auf das Bild wieder zugreifen.

    Aber ich beiß mir gerade die Zähne daran aus. ( Das Bild wird einfach nicht angezeigt )

    SC:

    Methodenaufruf:
    [covers addObject:[self imageWithImage:[self imageCacher:[favJsonArrayobjectForKey:@"ePub_CoverPath"] imageName:[favJsonArray[i]objectForKey:@"ePub_ID"]] scaledToSize:CGSizeMake(130, 190)]];


    imageWithImage - komprimieren des Bildes
    - (UIImage*) imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;{
    UIGraphicsBeginImageContext( newSize );
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return newImage;
    }


    imageCacher - Speichern des Bildes in den CacheVerzeichnis und gebe das aktuelle Bild zurück
    - (UIImage *) imageCacher:(NSString*)imageUrl imageName:(NSNumber*)coverID{
    //prepare cachedirectory / subdomain for saving and proofing
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *cachePath = [paths objectAtIndex:0];
    NSString *savePath = [[[cachePath stringByAppendingPathComponent:@"favCoverImages"] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", coverID]] stringByAppendingString:@".jpg"];
    NSLog(@"savepath: %@", savePath);

    //prüfe ob fav cover bereits gespeichert ist
    if ([[NSFileManager defaultManager] fileExistsAtPath:savePath]){
    NSLog(@"favCoverUIImage existiert bereits");
    }
    else{
    NSURL *coverUrl = [NSURL URLWithString:[NSString stringWithFormat:@"http://ereader.website.org/%@", imageUrl]];
    NSLog(@"coverUrl download: %@", [coverUrl absoluteString]);
    NSData *tempCoverData = [NSData dataWithContentsOfURL:coverUrl];
    UIImage *coverImage = [UIImage imageWithData:tempCoverData];
    NSData *coverData = [NSData dataWithData:UIImageJPEGRepresentation(coverImage, 0.8)];
    //save image data to filesystem
    [coverData writeToFile:savePath atomically:YES];
    }

    //load image from filesystem
    NSData *imgDataFromFile = [[NSData alloc] initWithContentsOfFile:savePath];
    UIImage *coverImageFromFile = [UIImage imageWithData:imgDataFromFile];
    return coverImageFromFile;
    }



    coverData ist definitiv nicht NULL und die coverURL gibt mein Bild zurück.

    Beispiel:
    "coverUrl download: ereader.website.org/frontend/e…/EPUB/wasteland-cover.jpg"

    Ich weiß gerade nicht an was das liegt.
    Um einen kleinen Denkanstoß würde ich mich sehr freuen

    mfg :)
    lernen, lernen, lernen :)
  • BOOL writingStatus = [coverData writeToFile:savePath atomically:YES];

    if (!writingStatus) {
    NSLog(@"error");
    }
    else{
    NSLog(@"done");
    }


    Rückgabewert: error

    @Mattes
    Dann werde ich mal die Verzeichnisse anlegen! Vielen Dank für den Hinweis!!!
    lernen, lernen, lernen :)