判断目录下的文件是否为图片
ASP.NET MVC应用程序的UploadFiles目录,是存放用户上传的文件,当然包括图片。现在开发的要求是,显示所有用户上传图片作为列表,呈现给用户。
如果直接去显示,也许某些文件不是图片文件。还有可能是用户上传时,更改了扩展名。真实不是图片的,改为了图片相关的扩展名。即是说,现在要做的是过滤出真正的图片文件出来。
在应用程序的Utilities目录中,创建一个ImageUtility的类别:
有两个函数,第一个public static string Base64String(string virtualPath):
有一个参数,需要传入虚拟路径。
#13使用Server.MapPath()把虚拟路径处理为物理路径。
#14读取文件流(FileStream)
#15把文件流处理为byte阵列。
#17转换为Convert.ToBase64String()字符串。
第二个函数public static bool IsImage(string base64String):
#22把参数传入的Base64String字符串,转换为byte阵列。
#24行,把byte[]转换为内存流(MemoryStream)
#28行是核心判断是否图片代码。
两个函数,一经每行解读,可以整合为一个函数:
整合后的函数,名改为IsImage1(),此函数可算是优化,少了两次byte阵列转换。
控制器,建立两个Action:
在JsonResult Verify()中,那个红圈 comment的两行(#56,#57)代码。
是使用了开始写的两个函数。
为了测试,在应用程序的UploadFiles目录中,放两个文件,一个图片,另一个是文本文件,但它的扩展名被改为了.jpg。
创建一个视图,来检验上面写的函数:
稍后Insus.NET在演示过程中,手动改变控制制的文件路径:
判断目录下的文件是否为图片相关推荐
- linux shell判断当前目录下的文件或目录
linux shell判断当前目录下的文件或目录 #!bin/sh for file in ./* doif test -f $filethenecho $file 是文件elseecho $file ...
- java获得src文件夹下的图片和 获得resource目录下的文件
java获得src文件夹下的图片和 获得resource目录下的文件 1 获得src文件夹下的图片 文件位置 获得url代码 URL url= getClass().getClassLoader(). ...
- pyhton 读取目录下所有文件夹下的文件(指定文件)
前言 1.有的时候比如我们操作错了,将一个文件夹里的.png图片都弄到了不同的文件夹中,现在想还原,如果一个个手工选择剪切,恐怕不是一个好办法. 2.有的时候,想把某个目录下的所有文件夹中的jpg格式 ...
- 监控web站点目录下所有文件是否被恶意篡改
监控web站点目录下所有文件是否被恶意篡改,(文件内容被改了)如果有的就打印改动的文件名 定时任务:每三分钟执行一次监测一次 文件被篡改的特征: 大小可能会变化(为什么说可能呢,如果把里面的值1改为2 ...
- win32 API 遍历一个目录下的文件
代码: #include <windows.h>DWORD EnumerateFileInDirectory(LPWSTR );int APIENTRY WinMain(HINSTANCE ...
- linux把目录下的文件设置属性为rx,LINUX的文件属性与目录配置
LINUX的文件属性与目录配置 发布时间:2008-03-20 10:28:46来源:红联作者:cnbtoo -rwxrwxrwx 1 root root 293 Oct 19 21:24 test ...
- 通过Python实现某个目录下所有文件(包含子目录中的文件)的列出
方法一 # 修改工作目录 import os os.chdir(r'C:\Users\Hider\Desktop')# 定义函数 def list_all_files(rootdir):import ...
- Linux和Windows的遍历目录下所有文件的方法对比
首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...
- 【Java基础】递归输出目录下所有文件路径
递归输出目录下所有文件路径 import java.io.File;public class FileTest {public static void main(String[] args) {// ...
最新文章
- Redis 读写分离技术架构解析
- Visual Studio 项目目录下的bin目录和 obj目录
- 【数据分析】干货!一文教会你 Scrapy 爬虫框架的基本使用
- eclipse插件安装方法
- flask中 app.run(host='0.0.0.0', port=5000, debug=False) 不能用外网ip访问的解决办法
- 283EEZOJ #89 Cow Tennis Tournament
- ArcGis连接oracle失败:ORA-6413:连接未打开
- swift实例教程_Swift示例教程基础
- bzoj 1024 SCOI2009 生日快乐
- 感知机原理及代码实现小结
- 怎么修改html游戏存档,星露谷物语存档修改方法 如何修改游戏存档
- 计算机思维导图ppt模板,经典PPT模版(含各类思维导图).ppt
- isilon SMB 控制允许IP访问
- 国足2-0击败菲律宾,重获出线主动权,下次对战叙利亚做了哪些准备?
- QT 插入视频并实现循环播放
- LTE语音业务-VOLTE(一)
- 小程序源码:炫酷恶趣制作神器-多玩法安装简单
- excel 数据透视表工具-计算-插入字段-公式-条件计数如何实现
- python教程app攻略_一篇清晰易懂的Python操控手机APP攻略!
- 趣学数据结构 代码 自用