Qt识别文件类型的正确姿势

194 篇文章 107 订阅

一般我们识别文件类型都是从文件的后缀区分,这样做可以识别出文件格式。但在Qt里有更好的实现方法。

以识别图片类型为例

  一般识别图片类型方法:
虽然这一方法可以实现识别图片类型,但是维护起来相对困难。如果真的要识别所有的文件是否是图片类型,还需要添加更多的判断方法。

QString file("sample.jpg");
if (file.contains(".jpg") || 
    file.contains(".bmp") || 
    file.contains(".png")) {
    qDebug()<<"这是图片。";
}

  使用Qt接口识别的方法(推荐) :
QMimeType类描述由MIME类型字符串表示的文件数据类型

QMimeDatabase db;
QMimeType mime = db.mimeTypeForFile("sample.bmp");
if (mime.name().startsWith("image/")) {
    qDebug()<<"这是图片。";
}

一些MIME类型常用对照表

类型描述示例
text普通文本text/plain,
text/html,
text/css,
text/javascript
image图像文件(包含动态gif)image/gif,
image/png,
image/jpeg,
image/bmp,
image/webp
audio音频文件audio/wav,
audio/mpeg,
audio/midi,
audio/webm,
audio/ogg
video视频文件video/mp4,
video/x-flv,
video/webm,
video/ogg
application二进制数据application/xml,
application/pdf

关于更多

  • 本文首发于微信公众号:Qt君
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值