美文网首页
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