附件的上传

本文档详细介绍了使用Visual Studio 2015进行附件上传的实现过程,包括视图中的方法编写、文件大小限制、上传失败与成功处理、上传进度跟踪,以及附件查询和下载的方法。在上传过程中,文件大小不得超过20MB,并通过FormData对象和XMLHttpRequest进行文件提交。同时,还涉及到文件下载时的路径判断和文件名还原。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文献种类:专题技术文献;

开发工具与关键技术:Visual Studio 2015 附件的上传与下载

作者: ;年级: ;撰写时间: 年 月 日

文献编号: ;归档时间: 5月 7日

                             			附件的上传

开发工具与关键技术:Visual
Studio 2015   附件的上传与下载

作者:廖茂

撰写时间:2019年5月7日

附件上传、下载、移除这些处理比较复杂,接下来就从附件上传开始了解附件处理的过程吧

首先在视图里编写附件上传的方法,先给上传附件的按钮添加点击事件:
在这里插入图片描述
在上传附件按钮的点击事件里面调用附件上传表单的改变事件去选择文件,下面是附件上传表单的改变事件:
在这里插入图片描述
先声明一个变量接收选择的文件:
在这里插入图片描述
然后判断一下选择的文件是否大于零,即是否选择了文件,如果大于零,就声明一个变量接收选择的第一个文件,否则返回“请选择文件”的提示,是否选择文件判断完后,然后再判断接收的第一个文件的大小,判断以文件大小最大不能超过20MB为条件,即限制文件大小不能超过20MB,如果文件小于20MB,就创建一个FormData对象用来存放文件,并且将第一个文件放入FormData中,如果文件大于零,就返回“文件大小不能超过20MB”的提示。
在这里插入图片描述
将第一个文件放入FormData后,再创建一个XMLHttpRequest对象用于监听“上传成功、上传失败、上传进度”这些上传附件发生的事件,先是上传成功的监听事件:
在这里插入图片描述
声明一个变量接收发送状态,然后判断如果发送成功,就刷新表格,刷新表格中的路径连接的是控制器那边的附件查询方法,最后返回“上传成功”的提示。下面是上传失败的方法:
在这里插入图片描述
在上传文件中,我们需要知道上传文件的进度,所以还要加上一个上传进度的方法,并且这个方法会被不断地调用,如下:
在这里插入图片描述
在这里我们通过路径拼接来实现上传进度的提示。上传文件所需要的方法编写完后,就要上传文件了,需要注意的是,上传文件一定要用post方法提交,如下:
在这里插入图片描述
方法里面的路径连接的是控制器那边的文件上传方法。视图这边的附件上传的方法就完成了,接下来看一下附件上传的控制流程方法。

根据上面的方法我们可以知道,我们需要先查询附件再上传附件,那就先编写查询方法:
在这里插入图片描述
我们上传的附件是以列表的形式显示的,所以需要用分页的参数,先获取session中的文件表。先实例化一个变量用于存放session中的数据,然后判断如果session不为空,就把session中的数据存放到变量中,然后再把数据分页和封装,最后返回数据。附件的查询就结束了,接下来到附件的上传了:
在这里插入图片描述
先获取上传文件的大小,并且限制文件大小不能超过20MB。然后获取session中的文件,并且检查存放文件的目录是否存在,不存在就创建,如下:
在这里插入图片描述
接下来需要生命三个变量来分别接收文件类型、不带扩展名的文件名称以及原始文件名称,如下:
在这里插入图片描述
然后设置保存文件的路径并且保存文件:
在这里插入图片描述
接下来声明两个变量用于设置文件格式,文件的格式有“视频、音频、文本、文档、图片、其他”,对应设置的ID为“1、2、3、4、5、6”,用if{}else{}语句来设置文件格式,下面只截图两个格式:
在这里插入图片描述
格式设置完后,把格式ID、文件类型、文件名称等数据封装到一个变量里面:
在这里插入图片描述
然后更新session并且返回的状态为true:
在这里插入图片描述
最后返回false:

return Json(false,JsonRequestBehavior.AllowGet);

在上面a标签的拼接中,连接的路径是附件下载的控制流程方法,让我们看一下下载附件的控制流程方法:
在这里插入图片描述
声明一个变量设置存放文件的路径,然后判断需要下载的文件是否存在,如果存在,进入下一步操作,否则返回“下载的文件不存在”的提示,如下:
在这里插入图片描述
如果需要下载的文件存在的话,就先获取不包含文件扩展名的名称,然后去除文件上传时天添加的时间字符串,再还原文件名称,最后返回文件。

这就是附件上传的操作,在附件上传时,我们需要考虑附件上传时的“上传成功、上传失败、上传进度、下载附件”等事件, 需要对上传的文件的名称进行处理,在上传附件的控制流程中调用下载附件的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值