页面方法
上传文件,我们有时候需要把文件上传到服务器,那今天我们就来下文件上传的的。这里是文件上传的页面方法,使用ajaxSubmit提交表单,如果文件状态信息通过,说明文件已经上传了,那么我们就拼接路径,将图片放到页面内容区
设置实体
在文件上传的控制器里,我们需要对文件上传后的状态信息返回给页面,告诉用户文件上传是否成功,或者出了某些错误导致上传失败了,为此我们需要一个实体,来存放(状态,状态码,文本,以及附加数据)这个实体用于记录状态,返回文本说明。
捕捉异常
在文件上传的过程中可能会出现异常,为此,我们下一步操作,在异常捕捉中进行
文件信息判断
1、在进行文件上传前,需要先对文件进行判断,如果上传前的文件是空的,那也就没必要进行上传了,使用在if—else—进行文件判断,如果文件为空则不进行上传的操作,判断通过后进行文件路径获取,获取到文件路径后,我们需要给要上传到服务器上的文件自定义文件名(时间+唯一标识符+后缀)这样可以明确的知道文件上传的类型时间,既然要上传文件,那么我们需要一个目录来存放这些上传的文件,除此之外,我们还需要一个临时的存放文件夹,那么我们就需要创建一个目录来存放她(临时文件夹目录同理),为什么需要一个临时文件夹来存放这些文件呢?因为上传过程中,文件上传尚未完成,或上传由于某些原因上传失败了,我们把数据放在临时的文件夹中,不会影响到其他目录的文件。在创建目录前,我们需要先判断下,服务器或原来的项目文件夹里该文件夹是否已经存在了。如果该目录已经存在那便不进行文件目录的创建。(临时文件夹的创建同理)对文件的路径进行拼接:拼接保存文件的详细路径
2、,进行判断如果上面获取到的fileExtension不为空,我们把文件名转换成小写的,方便进行判断。接下来我们对文件类型进判断,通过使用正则表达式进行文件后缀名判断,是否是我们需要的文件类型(.Contains)返回一个值,指定子串是不有出现在此字符串中。也就是说,后缀名只能为图片格式的才能通过判定。通过文件类型判断了。
保存文件
文件不为空,又是我们需要的文件类型,那么接下来就可以进行文件报存了。file.SaveAs(filePath);文件成功保存后拼接返回image标签,返回状态为真,将imges标签指定到临时文件夹目录中去。结合页面方法实现,文件在页面表单中以imges的格式出现在表单中
总结:
文件上传,不仅仅只是把文件进行保存到相应的目录中去,更重要的是对文件类型的以及大小的判断处理,不能上传空的文件,也不能上传类型与要求不符合的文件。在成功保存了文件后,为了不使页面表单中因图片文件的大小影响到表单可将图片大小压缩到指定的大小,方便预览
文件上传
最新推荐文章于 2024-08-02 16:51:08 发布