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. python中实数怎么表示_如何用实数的模来计算pow()?
  2. RedHat系统常用的日志文件详解三
  3. Java对存储过程的调用方法 --转载
  4. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
  5. windows。forms.timer设置第一次不等待_防火卷帘设置的场景不同下降的要求有哪些区别?...
  6. Android之创建选项菜单
  7. struts的异常处理
  8. 禁止视频在手机移动端页面中全屏播放代码范例
  9. 软件项目管理-会议记录模板
  10. c语言经典程序技能高考,计算机类技能高考介绍
  11. html怎么设置字体的透明度,CSS字体透明度怎么设置?
  12. linux设备驱动中的阻塞与非阻塞(二)
  13. 如何编写Word文档 多级编号
  14. 漏洞修复:Insecure Transport: HSTS not Set
  15. Python基础刷题,期末不挂科~~~(已完结)
  16. 小程序用哪个服务器好,小程序用什么服务器好
  17. 成功焊接BGA芯片技巧
  18. 从零教你用抖音赚钱——吸粉变现技巧
  19. Pyinstaller 详解多种打包过程(去坑,填坑)。
  20. 机器学习_深度学习毕设题目汇总——肿瘤

热门文章

  1. [MySQL FAQ]系列 -- 如何利用触发器实现账户权限审计
  2. [Android Pro] 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
  3. Qt之QToolBox
  4. XML PUBLISHER输出excel存在科学计数
  5. Mathematica颜色系,你喜欢哪一个?
  6. php 按引用传递的使用
  7. 【重点】剑指offer——面试题65:滑动窗口的最大值
  8. 微程序控制器的组成及原理总结
  9. 2091操作系统引论
  10. mysql for macOS安装