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在演示过程中,手动改变控制制的文件路径:

判断目录下的文件是否为图片相关推荐

  1. linux shell判断当前目录下的文件或目录

    linux shell判断当前目录下的文件或目录 #!bin/sh for file in ./* doif test -f $filethenecho $file 是文件elseecho $file ...

  2. java获得src文件夹下的图片和 获得resource目录下的文件

    java获得src文件夹下的图片和 获得resource目录下的文件 1 获得src文件夹下的图片 文件位置 获得url代码 URL url= getClass().getClassLoader(). ...

  3. pyhton 读取目录下所有文件夹下的文件(指定文件)

    前言 1.有的时候比如我们操作错了,将一个文件夹里的.png图片都弄到了不同的文件夹中,现在想还原,如果一个个手工选择剪切,恐怕不是一个好办法. 2.有的时候,想把某个目录下的所有文件夹中的jpg格式 ...

  4. 监控web站点目录下所有文件是否被恶意篡改

    监控web站点目录下所有文件是否被恶意篡改,(文件内容被改了)如果有的就打印改动的文件名 定时任务:每三分钟执行一次监测一次 文件被篡改的特征: 大小可能会变化(为什么说可能呢,如果把里面的值1改为2 ...

  5. win32 API 遍历一个目录下的文件

    代码: #include <windows.h>DWORD EnumerateFileInDirectory(LPWSTR );int APIENTRY WinMain(HINSTANCE ...

  6. linux把目录下的文件设置属性为rx,LINUX的文件属性与目录配置

    LINUX的文件属性与目录配置 发布时间:2008-03-20 10:28:46来源:红联作者:cnbtoo -rwxrwxrwx 1 root root 293 Oct 19 21:24 test ...

  7. 通过Python实现某个目录下所有文件(包含子目录中的文件)的列出

    方法一 # 修改工作目录 import os os.chdir(r'C:\Users\Hider\Desktop')# 定义函数 def list_all_files(rootdir):import ...

  8. Linux和Windows的遍历目录下所有文件的方法对比

    首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...

  9. 【Java基础】递归输出目录下所有文件路径

    递归输出目录下所有文件路径 import java.io.File;public class FileTest {public static void main(String[] args) {// ...

最新文章

  1. Redis 读写分离技术架构解析
  2. Visual Studio 项目目录下的bin目录和 obj目录
  3. 【数据分析】干货!一文教会你 Scrapy 爬虫框架的基本使用
  4. eclipse插件安装方法
  5. flask中 app.run(host='0.0.0.0', port=5000, debug=False) 不能用外网ip访问的解决办法
  6. 283EEZOJ #89 Cow Tennis Tournament
  7. ArcGis连接oracle失败:ORA-6413:连接未打开
  8. swift实例教程_Swift示例教程基础
  9. bzoj 1024 SCOI2009 生日快乐
  10. 感知机原理及代码实现小结
  11. 怎么修改html游戏存档,星露谷物语存档修改方法 如何修改游戏存档
  12. 计算机思维导图ppt模板,经典PPT模版(含各类思维导图).ppt
  13. isilon SMB 控制允许IP访问
  14. 国足2-0击败菲律宾,重获出线主动权,下次对战叙利亚做了哪些准备?
  15. QT 插入视频并实现循环播放
  16. LTE语音业务-VOLTE(一)
  17. 小程序源码:炫酷恶趣制作神器-多玩法安装简单
  18. excel 数据透视表工具-计算-插入字段-公式-条件计数如何实现
  19. python教程app攻略_一篇清晰易懂的Python操控手机APP攻略!
  20. 趣学数据结构 代码 自用

热门文章

  1. C++基础知识:C++语言中的表达式求值
  2. svn添加提交备注限制和自动发布web项目
  3. 家庭记事本开发进度3
  4. 记一次axios源码排查
  5. 在windows系统安装nginx
  6. OS X EI Capitan 安装mysql-5.7.9
  7. springmvc + excel代
  8. ajaxFileUpload+struts2多文件上传(动态添加文件上传框)
  9. Bosh vs Comet vs Long Polling vs Polling
  10. SharePoint2013的头像显示和读取