首页 » 技术分享 » 富文本框图片的处理

富文本框图片的处理

 

富文本框是一个可以兼容多种数据的文本框,比如文字,图片,表格等。它是通过数据的转换将所有的文本转换成可以显示的格式。那具体是怎么去处理数据的呢?例如图片,我先对流程进行简单分析:
创建一个实体类,判断文件是否为空,为空则提示, 不为空继续执行。获取文件的类型和名称,判断文件路径是否存在,不存在则创建,存在则继续执行。创建物理路径,判断文件类型是否为空,为空则提示,否则继续执行。将文件转换大小写,判断文件是否是为图片,不是则提示,是则保存。
分析了整个流程,下面将进行详细的讲解。流程主要分为两个部分,一个是判断文件,一个是保存文件(代码借鉴于老师)。
一、 判断文件
判断时会使用接收文件的实体工具类,一开始先实例化这样一个工具类。它里面包含有一些字段,分别为:uploaded,表示是上传成功(返回值为1成功,为0失败);fileName,上传文件的名称;url,上传文件的URL(URL编码);message,用来返回的一个错误信息提示。
在这里插入图片描述
在代码运行时可能会出现一些异常,所以会在方法的外面套一个try…catch()的方法来捕捉这些异常情况,同时提示一下文件上载失败(e是用来接收错误信息的)。
在这里插入图片描述
上载的文件是通过方法传到控制器,在处理前需要判断所接收到的文件是否为空,如果接收到的是一个空值,那么将提示上载文件为空。
在这里插入图片描述
要判文件的类型,先要获取到它的文件扩展名。这里用的是Path里面的GetExtension()方法。Path是一个跨平台的操作,是对包含文件或目录信息路径的System.String实例执行操作。GetExtension()是一个专门返回一个指定的路径中文件的扩展名。定义一个string类型的变量来接收返回的文件扩展名。
在这里插入图片描述
所上载的文件处理后需要按指定的命名规则和路径进行保存,事先还要定义一个变量用来接收文件的名称。根据指定的命名规则拼接出保存用到文件夹,获取到当前上载文件的时间以自定义的格式进行显示,拼接一个“-”和唯一标识符,最后加上文件的扩展名组成一个文件的名称。
二、 保存文件
在这里插入图片描述
通过一个静态类Directory里面的一个确定方法Exists()确定本地是存在该物理路径。如果指定的保存目录不存在,那么保存文件时就会报错,所以先判断该目录如果不存在,就创建该目录。
在这里插入图片描述
将创建的保存文件的目录和文件夹的名称用拼接的方法组合出保存文件的最终路径,再创建一个变量来接收这个路径。
在这里插入图片描述
判断上载文件是否含有文件扩展名,如果没有则判定它并不是一个文件并返回一个提示。有则判断它是否是一个图片类型的文件,在判断时该文件的扩展名可能是大写,也可能是小写,判断条件就比较复杂,所以在判断前将上载文件扩展名统一转换成小写。
在这里插入图片描述
用正则写出匹配图片的几种扩展名,再用Contains()方法进行判断。Contains()方法是用来返回一个bool值,它所选中的value是否存在于此字符串中。如果不存在就说明上载文件并不是一个图片类型的文件并返回一个提示,存在则是一个图片类型并进行保存。
在这里插入图片描述
通过SaveAs()的方法将需保存的文件(upload)保存到指定的文件路径(filePath),然后将开始用来接收文件的实体工具类里面的字段进行赋值:

  1. 用一个自定义变量接收文件的路径。
  2. 将uploaded赋值为1,表示已保存成功。
  3. 对上载的文件名称(fileName)赋值给工具类的上载文件名称(fileName)。
  4. 将接收的路径(url)赋值给工具类里的上传路径(url)。
    在这里插入图片描述
    最后将已赋值的工具类以Json的格式返回。

转载自原文链接, 如需删除请联系管理员。

原文链接:富文本框图片的处理,转载请注明来源!

0