gpt4 book ai didi

iphone - UIImage 在下载时损坏

转载 作者:行者123 更新时间:2023-11-28 20:14:12 26 4
gpt4 key购买 nike

我开发了 iOS 应用程序,我在其中从服务器下载图像并将其保存在我的文档目录中。

但我面临的问题是,有时我下载时我的图像会损坏,即使服务器响应成功也是如此。

这是我的代码片段,

urlFile 是服务器上 UIImage 的路径,例如:www.abcd.com/images/pqr.jpg

我用来在我的 DocDirectory 中保存图像名称的文件名。

- (void)downloadFile:(NSString *)urlFile withName:(NSString *)fileName 
{
NSString *trimmedString = [urlFile stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];

NSLog(@"trimmedString=%@",trimmedString);
if ([trimmedString length]>0)
{
HTTPEaterResponse *response = [HTTPEater get:[NSString stringWithFormat:@"%@",trimmedString]];

if ([response isSuccessful])
{
NSLog(@"isSuccessful");
[self saveImage:[[UIImage alloc] initWithData:[response body]] withName:fileName];
} else {
NSLog(@"Url response failed %@", [response description]);
}
}

}


- (void)saveImage:(UIImage *)image withName:(NSString *)name
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSData *data = UIImagePNGRepresentation(image);
NSLog(@"image =%@",image);

NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:name];
[fileManager createFileAtPath:fullPath contents:data attributes:nil];

}

当我看到我的日志时,它显示:

  • trimmedString= www.abcd.com/images/pqr.jpg
  • 成功
  • 图片=null

提前致谢。

最佳答案

我使用以下代码,它对我有用。

NSData *thumbImageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:ImageURL]];
[thumbImageData writeToFile:cachedThumbnailFileName atomically:YES];
UIImage * image = [UIImage imageWithContentsOfFile:cachedThumbnailFileName];
imageView.image = image;

希望对你有帮助。 :)

关于iphone - UIImage 在下载时损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18761755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com