UWP开发细节记录:判断文件类型

StorageFile.ContentType 属性,是 string 类型,用来表示文件内容的 MIME 类型。例如,音乐文件可能有 "audio/mpeg" MIME 类型。(MSDN)

MIME 类型的定义可以下面的链接找到:

MIME Types - http://blogs.msdn.com/b/jaimer/archive/2008/01/04/mime-types.aspx

MIME 参考手册 - http://www.w3school.com.cn/media/media_mimeref.asp

随便摘录了几个如下:


.mov


video/quicktime


.movie


video/x-sgi-movie


.mp2


video/mpeg


.mp3


audio/mpeg


.mpa


video/mpeg


.mpe


video/mpeg


.mpeg


video/mpeg


.mpg


video/mpeg


.mpp


application/vnd.ms-project

所以可以简单的通过查找字符串判断文件的类型,如视频文件/图像文件等。

StorageFile file = await openPicker.PickSingleFileAsync();

if (file .ContentType.IndexOf("video/") == 0)
{
    // 视频文件
}
else if (file .ContentType.IndexOf("image/") == 0)
{
    // 图像文件
}

不过,经测试,这个类型只是简单的通过文件扩展名判断的,并不可靠

另外,MSDN上备注说 WP8 系统不实现此 API ,调用会引发异常。未说明 Win10 Mobile 中是否可用。

时间: 2024-12-15 01:36:47

UWP开发细节记录:判断文件类型的相关文章

UWP开发细节记录:加载图像文件到D2D位图和D3D纹理

在UWP中加载文件一般先创建 StorageFile 对象,然后调用StorageFile.OpenReadAsync 方法得到一个IRandomAccessStream 接口用来读取数据: 1 StorageFile image_file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/sample.jpg", UriKind.Absolute)); 2 IRandomAcce

UWP开发细节记录:DirectX::XMMATRIX 的坑

这两天写的代码概率性的崩溃在 XMMatrixMultiply() 函数,XMMatrixMultiply() 本身是 inline 函数可以看到崩溃处的代码: vX = _mm_mul_ps(vX,M2.r[0]); 经查,_mm_mul_ps 是 SSE2 指令要求内存地址 16 字节对齐.猜想可能是字节未对齐引发的问题,打印出矩阵参数的地址,果然,发生崩溃时都是未对齐到 16 字节的情况. XMMATRIX 声明中指定了对齐到 16 字节,如下: __declspec(align(16))

UNIX环境编程学习笔记(6)——文件I/O之判断文件类型

lienhua342014-09-01 1 文件类型 我们平时最常接触的文件类型有普通文件(regular file)和目录(di-rectory file),但是 UNIX 系统提供了多种文件类型: (1) 普通文件(regular file) 这种文件包含了某种形式的数据,这些数据无论是文件还是二进制对于 UNIX 内核而言都是一样的.对普通文件内容的解释有处理该文件的应用程序进行. (2) 目录文件(directory file) 目录文件包含了其他文件的名字以及指向与这些文件有关信息的指

2.1-Apache不记录指定文件类型日志

在apache访问日志中,默认会记录所有动作.包括本地一些静态小图片,从而日志变得繁多臃肿. 这时我们可以指定,不记录指定文件类型的日志,来达到只记录我们想要的日志. 配置步骤: 1:标记指定文件类型 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/usr/local/src/Discuz" ServerName www.llzdwyp.com ServerAlias www.wyp.com S

Linux下如何判断文件类型

在Linux下总共有7种文件类型,分别为: 普通文件(-) 目录文件(d), 软链接文件(l)=快捷方式, 块设备文件,二进制文件(b)   字符设备文件(c) 套接字文件(s) 管道文件(p) 其中常用的文件类型为:普通文件,目录文件和软链接文件 系统特殊文件类型为:块设备文件,字符设备文件,套接字文件,管道文件. 如何判断文件类型? 在当前目录下使用命令: ls -l,即可列出该目录下的所有文件,其第一列的第一个字母就包含了该文件的文件类型: 其第一列的长度为10位,除去第一位用于表示文件类

nginx不记录指定文件类型的日志

1.指定记录文件日志记录的内容. vim /usr/local/nginx/conf/nginx.conf如下部分: log_format dd '$remote_addr $http_x_forwarded_for [$time_local]' '$host "$request_uri" $status' '"$http_referer" "$http_user_agent"'; 其中dd是指日志格式的名字,可修改.2.在虚拟主机配置文件中,指

c#真正判断文件类型

//真正判断文件类型的关键函数 public static bool IsAllowedExtension2(FileUpload hifile) { if (hifile != null) { System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.BinaryRead

JavaScript根据文件名判断文件类型

//JavaScript根据文件名判断文件类型 var imgExt = new Array(".png",".jpg",".jpeg",".bmp",".gif");//图片文件的后缀名 var docExt = new Array(".doc",".docx");//word文件的后缀名 var xlsExt = new Array(".xls"

利用PHP取二进制文件头判断文件类型

<?php $files = array('D:\no.jpg', 'D:\no.png','D:\no2.JPEG','D:\no.BMP'); $fileTypes = array( 7790 => 'exe', 7784 => 'midi', 8297 => 'rar', 255216 => 'jpg', 7173 => 'gif', 6677 => 'bmp', 13780 => 'png' ); foreach($files as $file) {