如何正确取得文件的真正类型

问题描述

vb.net中,要求用户提供的是.xls格式,可是当把不是该格式的文件改后也行,现在问题是我应该如何正确取得该文件的真正格式类型,在校验中将此问题查处,谢谢!

解决方案

解决方案二:
二进制方式读取文件的前几个字节,看是不是xls的文件,不过这样太麻烦,还是你在用的时候try一下,出现异常就异常处理
解决方案三:
这种方法我试过,好不稳定,多个.txt文件,进行读取前两个字节时候,发现他们之间有时候一样,另外一个问题是.doc,.xls文件,他们的前几个字节一样,现在对这种方法已经失去信心,还望高手指点!
解决方案四:
将就一下:PublicClassForm1PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickConsole.WriteLine(Excel.IsValid("g:test.xls"))Console.WriteLine(Excel.IsValid("g:test.xls.ddd"))Console.WriteLine(Excel.IsValid("g:notexists.xls"))Console.WriteLine(Excel.IsValid("g:data.xml"))EndSubEndClassPublicClassExcelPrivateConstConnnectionStringFormatAsString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource={0};ExtendedProperties=""Excel8.0"";"PublicSharedFunctionIsValid(ByValfileAsString)AsBooleanIfNotSystem.IO.File.Exists(file)ThenReturnFalseUsingcnAsNewOleDb.OleDbConnection(String.Format(ConnnectionStringFormat,file))Trycn.Open()ReturnTrueCatchexAsExceptionReturnFalseEndTryEndUsingEndFunctionEndClass

解决方案五:
呵呵够狠,我再去试试
解决方案六:
经过测试,不正确啊,明明是将test.doc--->test.xls而返回值还是true
解决方案七:
是么?
解决方案八:
我的是False
解决方案九:
如果这样,你的还是True,我就没办法了:PublicClassExcelPrivateConstConnnectionStringFormatAsString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource={0};ExtendedProperties=""Excel8.0"";"PublicSharedFunctionIsValid(ByValfileAsString)AsBooleanIfNotSystem.IO.File.Exists(file)ThenReturnFalseUsingcnAsNewOleDb.OleDbConnection(String.Format(ConnnectionStringFormat,file))Trycn.Open()DimtableAsDataTable=cn.GetSchema("Tables")Iftable.Rows.Count>0ThenIftable.Rows(0).Item("TABLE_NAME").ToString.EndsWith("$")Thencn.Close()ReturnTrueEndIfEndIfcn.Close()ReturnFalseCatchexAsExceptionReturnFalseEndTryEndUsingEndFunctionEndClass

时间: 2024-08-04 01:58:44

如何正确取得文件的真正类型的相关文章

C++根据扩展名获取文件图标、类型

简述 在Windows系统中,根据扩展名来区分文件类型,比如:.txt(文本文件)..exe(可执行程序).*.zip(压缩文件),下面,我们来根据扩展名来获取对应的文件图标.类型. 简述 源码 源码 如下,我们根据扩展名来获取对应的文件图标.类型. #include <windows.h> #include <iostream> // 获取文件图标 HICON fileIcon(std::string extention) { HICON icon = NULL; if (ext

php判断文件上传类型及过滤不安全数据的方法_php技巧

本文实例讲述了php判断文件上传类型及过滤不安全数据的方法.分享给大家供大家参考.具体如下: 禁止上传除图片文件以外的文件,提示,不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']['type']. 这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足够了解.函数,过滤不安全字符,实例函数代码如下: 复制代码 代码如下: function s_addslashes($string, $force = 0) {  if(!get_magic_

Qt之QFileIconProvider(根据扩展名获取文件图标、类型)

简述 在Qt之QFileIconProvider一节中已经讲解关于如何获取文件图标与类型.但只仍针对本地已存在的文件,此节,我们主要运用前面分享的内容,讲述如何通过任意后缀或本地不存在的文件来获取相关的图标与类型. 简述 步骤 示例 效果 源码 更多参考 步骤 因为Qt本身并没有提供对于不存在文件获取图标.类型的接口,所以我们只能另寻出路. 步骤: 通过扩展名(如:txt.exe.pptx)构建临时文件QTemporaryFile. 通过QFileIconProvider获取对应的图标.类型 .

Qt之根据扩展名获取文件图标、类型

简述 在C++根据扩展名获取文件图标.类型一节中我们分享了如何根据扩展名来获取对应的文件图标.类型,下面.我们在Qt中使用它. 简述 示例 效果 源码 更多参考 示例 如下,我们根据扩展名来获取对应的文件图标.类型. 效果 源码 首先在pro中添加winextras模块: QT += winextras 然后,在源码中包含:#include <QtWin>,之后,方可使用. std::string strArray[13] = {"folder", ".exe&q

数据库读取 asp-求救!怎么读取Doc文件以ntext类型保存在数据库的值

问题描述 求救!怎么读取Doc文件以ntext类型保存在数据库的值 存到数据库中的时候是以DocumentText方法保存上传到数据库中的,现在想读取出来,我是用下面的方法读的 int num = pModel.Reason1.Length; Response.ContentType = "Application/msword"; Response.AddHeader("Content-Disposition", "attachment; filename

vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者_vbs

GetOwner.VBS用法,在命令行下:GetOwner.vbs 目录名会在相应目录下生成一个TXT.TXT文件,内里列出该目录下所有文件和文件夹的类型,大小,和所有者 注意:大小以MB为单位,小于1MB的就显示为0MB, 以下是代码: G = WScript.arguments(0) Set oFSO = CreateObject("Scripting.FileSystemObject") set txt = oFSO.CreateTextFile(G&"TXT.

PHP文件上传类型后辍名对应mine对照表

  使用PHP脚本上传文件时需要将文件格式处理为PHP所认识的文件类型,例如(.jpg的文件格式为image/jpeg).这个格式的判断首先是由浏览器完成的,浏览器通过表单的提交判断是某类文件,再提交给php进行处理. 有时候不同浏览器对文件类型的定义不相同,因此有时候需要对不同的浏览器做判断.其实可以将不同浏览器的类型都加入到判断中. 下面提供一张IE和火狐浏览器的文件类型对照表: ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpe

win7系统下的VHD文件及其不同类型

  一.什么是VHD文件 首先微软的VHD文件格式是一种虚拟机硬盘(virtual machine hard disk), 并可以被压缩成单个文件存放在宿主机器的文件系统上,主要包括虚拟机启动所需系统文件. 关于VHD的应用:Virtual PC是一种windows虚拟机,它可以虚拟各种版本的windows,一个windows应该装在一个硬盘分区上,而它是虚拟的windows,不可能单独划出一个硬盘分区给它安装,所以它启动所需系统文件都被压缩成一个VHD格式的文件放在硬盘上. VHD格式还将用于

详解win7系统下的VHD文件及其不同类型

  对于VHD文件,相信很多人都是一片茫然的态度,不知道是什么.做什么的.有什么用.类型有多少种?有一些也能用户甚至连虚拟机都没有接触过,甚至不知道是什么;即使是使用过虚拟机的用户们也是懵懵懂懂的.下面就对windows7系统中的VHD文件,还有它分为几个类型,为大家做一个详细的介绍. 一.什么是VHD文件 首先微软的VHD文件格式是一种虚拟机硬盘(virtual machine hard disk), 并可以被压缩成单个文件存放在宿主机器的文件系统上,主要包括虚拟机启动所需系统文件. 关于VH