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:
imageWithImage - komprimieren des Bildes
imageCacher - Speichern des Bildes in den CacheVerzeichnis und gebe das aktuelle Bild zurück
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 :)
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