最近项目中需要对图片的安全做处理,保证用户(即使是越狱用户)也不能查看到从服务器中下载下来的图片。
折腾了多种方法,发现还是使用base64对储存的文件进行一次编码最方便,编码之后,用户打开图片时将显示为全黑色
- NSString *path1 = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/bronze/download/img_0_0_0.png"];
- //文件路径转换为data
- NSData *imageData0 = [NSData dataWithContentsOfFile:path1];
- //对data进行base64编码
- NSData *imageData = [GTMBase64 encodeData:imageData0];
- [imageData writeToFile:path1 atomically:YES];
- NSString *imagePath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/bronze/download/img_0_0_0.png"];
- NSData *data = [NSData dataWithContentsOfFile:imagePath];
- NSData *data1 = [GTMBase64 decodeData:data];
- UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 20, 300, 400)];
- imageView.image = [UIImage imageWithData:data1];
- imageView.backgroundColor = [UIColor redColor];
- [self.view addSubview:imageView];
参考:http://blog.youkuaiyun.com/yshen_dublin/article/details/4416209