本文主要是介绍第二百七十四回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1. 概念介绍
- 2. 方法与类型
- 2.1 使用方法
- 2.2 常见类型
- 3. 示例代码
- 4. 内容总结
我们在上一章回中介绍了"如何加载本地图片"相关的内容,本章回中将介绍如何获取文件类型.闲话休提,让我们一起Talk Flutter吧。
1. 概念介绍
我们在本章回中提到的文件类型是指MIME描述的类型,我们主要介绍如何获取这些类型。有些看官可能还不清楚MIME的概念,下面是我从摘自mazilla网站的信息,请
大家参考:媒体类型(也通常称为多用途互联网邮件扩展或MIME类型)是一种标准,用来表示文档、文件或一组数据的性质和格式。它在 IETF 的 RFC 6838中进行
了定义和标准化。互联网号码分配局(IANA)负责跟踪所有官方 MIME 类型,你可以在媒体类型页面中找到最新的完整列表。
MIME 类型通常仅包含两个部分:类型(type)和子类型(subtype),中间由斜杠 / 分割,中间没有空白字符:type/subtype
类型代表数据类型所属的大致分类,例如 video 或 text。子类型标识了 MIME 类型所代表的指定类型的确切数据类型。以 text 类型为例,它的子类型
包括:plain(纯文本)、html(HTML 源代码)、calender(iCalendar/.ics 文件)。每种类型都有自己的一组可能的子类型。一个 MIME 类型总是包含类型
与子类型这两部分,且二者必需成对出现。我们所要获取的就是type/subtype。关于MIME的就介绍这些,大家可以官方网站查看更加详细的内容。
2. 方法与类型
2.1 使用方法
我们可以借助mime包来获取mime类型,该包是flutter官方提供的,下面是详细的使用步骤:
- 添加包到到yaml配置文件,并且从网上拉取包中的内容到本地项目中;
- 使用lookupMimeType()方法获取MIME类型;
2.2 常见类型
下面是我从官方网站截取的类型图,里面包含常见的文件类型:
3. 示例代码
String? mime = lookupMimeType(_mediaFileList![index].path);
if(mime.startsWith('image/') {debugPrint("it is image");
}///下面代码是官方给的示例代码
print(lookupMimeType('test.html'));
// text/htmlprint(lookupMimeType('test', headerBytes: [0xFF, 0xD8]));
// image/jpegprint(lookupMimeType('test.html', headerBytes: [0xFF, 0xD8]));
// image/jpeg
}
上面的示例代码演示了如何获取文件的MIME类型,以及如何通过类型来识别文件。代码中还有一部分来自官方文档,我们在代码中通过注释来说明代码出处。
4. 内容总结
最后,我们对本章回的内容做一个全面的总结:
- 我们主要介绍了MIME的概念和常见文件类型;
- 官方提供了mime包来获取文件的mime类型;
- 使用包中的lookupMimeType()接口可以获取文件类型;
看官们,与"如何获取文件类型"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
这篇关于第二百七十四回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!