我开发了 iOS 应用程序,我在其中从服务器下载图像并将其保存在我的 Document 目录中。
但我面临的问题是,有时我的图像在下载时会损坏,即使服务器响应是成功的。
这是我的代码片段,
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
- 是成功的
- 图像=空
提前致谢。