最近項目中需要對圖片的安全做處理,保證使用者(即使是越獄使用者)也不能查看到從伺服器中下載下來的圖片。
折騰了多種方法,發現還是使用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.csdn.net/yshen_dublin/article/details/4416209