代码之家  ›  专栏  ›  技术社区  ›  Chris Muench

iOS decodeBase64ToImage在有效的Base64编码图像上返回nil

  •  0
  • Chris Muench  · 技术社区  · 6 年前

    我试图把一个基本64画布字符串成一个UIImage,但我总是得到零。

    以下是数据要点

    https://gist.github.com/blasto333/5f15ab56dee0dbf790d90e9064160ea7#file-base64-receipt-image

    - (UIImage *)decodeBase64ToImage:(NSString *)strEncodeData
    {
        NSData *data = [[NSData alloc]initWithBase64EncodedString:strEncodeData options:NSDataBase64DecodingIgnoreUnknownCharacters];
        return [UIImage imageWithData:data];
    }
    

    data

    1 回复  |  直到 6 年前
        1
  •  2
  •   rmaddy    6 年前

    base64字符串不是普通的base64编码字符串。这是一个特殊的 data: data:image/png;base64, 接着是编码数据。

    - (UIImage *)decodeBase64ToImage:(NSString *)strEncodeData {
        NSURL *url = [NSURL URLWithString: strEncodeData];
        NSData *imageData = [NSData dataWithContentsOfURL: url];
        UIImage *image = [UIImage imageWithData: imageData];
    
        return image;
    }