美文网首页
iOS swift 通过文件头来判断图片类型

iOS swift 通过文件头来判断图片类型

作者: ZealPenK | 来源:发表于2018-07-11 10:25 被阅读0次
///imageType枚挙
enum imageType{
    /// - parameter imageType: JPG,PNG,Tiff,gif,webp,bmp,None
    case JPG,PNG,Tiff,gif,webp,bmp,None
}
func contentTypeForImageData(data:NSData) -> imageType {
    
    var c:UInt8?
    data.getBytes(&c, length: 1)
    switch c {
    case 0xFF:
        return imageType.JPG;
    case 0x89:
        return imageType.PNG
    case 0x47:
        return imageType.gif
    case 0x49,0x4D:
        return imageType.Tiff
    case 0x42:
        return imageType.bmp
    case 0x52:
        if (data.length < 12) {
            return imageType.None;
        }
        let testString:NSString = NSString(data: data.subdata(with: NSMakeRange(0, 12)), encoding: String.Encoding.ascii.rawValue)!
        if testString.hasPrefix("RIFF"),testString.hasSuffix("WEBP") {
            return imageType.webp
        }
    default:return imageType.None
    }
    return imageType.None
}

相关文章

网友评论

      本文标题:iOS swift 通过文件头来判断图片类型

      本文链接:https://www.haomeiwen.com/subject/hbkqpftx.html