第二百七十四回

2024-01-19 02:04
文章标签 七十四 第二百

本文主要是介绍第二百七十四回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 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()接口可以获取文件类型;
    看官们,与"如何获取文件类型"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

这篇关于第二百七十四回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/620958

相关文章

第二百零九节 Java格式 - Java数字格式类

Java格式 - Java数字格式类 以下两个类可用于格式化和解析数字: java.text.NumberFormatjava.text.DecimalFormat NumberFormat 类可以格式化一个数字特定地区的预定义格式。 DecimalFormat 类可以格式化数字以特定区域设置的自定义格式。 NumberFormat类的 getXXXInstance()方法返回格式化

第二百零四节 Java正则表达式教程 - Java正则表达式量词

Java正则表达式教程 - Java正则表达式量词 我们可以指定正则表达式中的字符的次数可以匹配字符序列。 为了使用正则表达式表达一个数字或更多的模式,我们可以使用量词。 下表列出了量词及其含义。 量词含义*零次或更多次+一次或多次?一次或根本不{m}正好m次{m,}至少m次{m,n}至少m,但不超过n次 量词必须遵循字符或字符类。 例子 import java.util.reg

每天一个数据分析题(三百七十四)- Winter模型

可以用于趋势成分和季节成分序列的预测是哪种模型? A. Winter模型 B. Holt模型 C. 简单指数平滑模型 D. 以上都不是 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案

Spring Boot(七十四):集成Guava 库实现布隆过滤器(Bloom Filter)

之前在redis(17):什么是布隆过滤器?如何实现布隆过滤器?中介绍了布隆过滤器,以及原理,布隆过滤器有很多实现和优化,由 Google 开发著名的 Guava 库就提供了布隆过滤器(Bloom Filter)的实现。在基于 Maven 的 Java 项目中要使用 Guava 提供的布隆过滤器,只需要引入以下坐标 1 引入依赖 <dependency><groupId>com

C语言试题七十四之请编写函数求两个数的最小公倍数

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:求两个数的最小公倍数。 最小公倍数(Least Common Multiple,LCM),如果有一个

Android 得到函数耗时多少的方法(七十四)

1.在android开发中,有时候会遇到接口耗时过多引起anr的问题。怎样获取函数耗时呢 通过System.currentTimeMillis();来获取函数开始时间以及函数结束时间,之间的时间差,就是函数大概的耗时时间了 private void goNext(){long start = System.currentTimeMillis();// TODO: 2017/2/1

C++之stringstream(字符串与数字相互转换)(七十四)

1.代码示例  1.stringstream数字与字符串相互转换#include <sstream>#include <iostream>#include <string>#include <typeinfo>using namespace std;int main(){stringstream stream;string buf = "1234";int i;//1.字符串转换

基于proteus的51单片机仿真实例七十四、4-16译码器74HC154应用实例

1、本例通过4-16译码器74HC154实现用4个IO口控制16个LED循环点亮   2、在keil c51中新建工程ex62,编写如下程序代码,编译并生成ex62.hex文件 //4-16线译码器实例 #include <reg51.h> //延时函数 void delayms(unsigned int x) {   unsigned char i;  whil

七十四、Sqoop——Sqoop中job的免密执行

在sqoop中导入数据方法有好几种,其中job这一种方法一执行就需要输入密码,所以我们需要设置它的免密执行 首先,配置sqoop-site.xml文件 [root@gree128 tmp]# vi /opt/soft/sqoop146/conf/sqoop-site.xml <property>    <name>sqoop.metastore.client.record.password</

一起Talk Android吧(第二百三十七回:Android中的Intent)

各位看官们大家好,上一回中咱们说的是Android中四大组件的例子,这一回咱们说的例子是Intent。闲话休提,言归正转。让我们一起Talk Android吧! 看官们,我们在本章回中将介绍Intent,它也是常用的知识,四大组件中有三大组件都使用它,比如打开Activity,绑定服务,发送广播。我们在代码中都看到过Intent的身影。 Intent可以显式和隐式两种; 显式Intent中包含