0

このバイトデータを変換して、そこから画像を取得したいと考えています。この base64Encoding メソッドを使用しましたが、これは役に立たないようです。

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

        NSString *base64StringEncoder = @"data:image/png;base64,";
    base64StringEncoder = [base64StringEncoder stringByAppendingString:[[parserDataContentArray objectAtIndex:indexPath.row] exhibitorByteImageObjectClass]];
    NSURL *profilePicURL = [NSURL URLWithString:base64StringEncoder];
    NSData *profilePicimageData = [NSData dataWithContentsOfURL:profilePicURL];

    if (profilePicimageData.length!=0) {
        cell.exhibitorImage.image = [UIImage imageWithData:profilePicimageData];
    }

        return cell;

}

ここで、parserDataContentArray は、解析されたデータを保持する変更可能な配列です。出品者ByteImageObjectClassは、特定のタグが存在することを確認した後にノードを設定しているNSStringプロパティです。

XMLは次のようになります

<PRODUCTION_B_IMAGE>
iVBORw0KGgoAAAANSUhEUgAAAKAAAACPCAYAAAB9NdDOAAAKQ2lDQ1BJQ0MgUHJvZmlsZQAASA2dlndUU1kTwO97L73QEkKREnoNTUoAkRJ6kV5FJSQBQgkYErBXRAVXFBVpig==
</PRODUCTION_B_IMAGE>
4

1 に答える 1

3

これをダウンロードしてください: NSData+Base64 ファイル

dataWithContentsOfURL は、実際には URL からではなく、URL にあるリソースからデータを取得します。これは、base64 文字列を使用 (デコードおよびエンコード) するのが最も簡単なラッパーの 1 つです。

base64 データを含む NSString があると[parserDataContentArray objectAtIndex:indexPath.row]思います。だからこれを試してください:

NSData *tempData = [NSData dataFromBase64String:[parserDataContentArray objectAtIndex:indexPath.row]];
if (tempData.length!=0) {
    cell.exhibitorImage.image = [UIImage tempData];
}
于 2013-07-17T08:48:32.733 に答える