下载附件

本文介绍了在ASP.NET MVC项目中实现下载附件的功能,包括理解正确的文件路径设置、控制器中编写下载代码以及处理文件不存在的情况。通过点击附件名称,用户能够自动下载到指定文件夹,无需视图页面额外代码。

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

开发工具与关键技术:VS软件,下载附件 
作者:陈隆
撰写时间:2019年06月06日

其实许多的项目中都会有上传附件的这一个功能的,而这个上传附件这个功能的里面有几个小功能的,其中下载附件就是其中的一个小功能,这个功能就是在用户上传了附件之后就可以点击附件的名称来进行下载的,需要下载到哪里就把路径写好就可以了,路径一定要写在本项目的主路径下,本项目就是你所创建的项目中的路径,如果路劲不对的呢那么就肯定是下载不了文件的,所以这里的路径一定要根据所创建的文件夹的路径来写,这里的路径还是详解一下,如果还是不懂的可以看下面具体的截图。
(路径截图)
在这里插入图片描述
这里因为我只上传了一张图片文件,所以就只有一个文件可以进行下载的,这里的路径就是所创建的项目到底是在电脑中的什么盘中什么的文件夹中,反正就是取项目中开始的路径,比如说我这个项目是创建在c盘中的ASP.NET MVC文件夹中的CQUPTBootstrap4文件夹中的,我这个项目的名称就是CQUPTBootstrap4这个项目名称,路劲就是从项目名称后面这里开始写的,一直写到文件所在的位置的文件夹的名称,其中不可以少任何一个文件夹的名称,前面的部分也不要写在路径中,记住这一些就不会容易的把路径写错了。路径这里已经说的挺明白的了应该是没有什么问题的了,接着就是需要在上传附件表格中获取到所需要的文件才可以进行下载,还需要在上传附件的控制器代码中写入下载的自定义功能,具体看下面截图。
(上传附件控制器中的下载部分代码)
在这里插入图片描述
这里就是需要在写上传附件中控制器代码中的一段代码,这就是为了需要下载附件的功能而写的,当点击已经自定义好的a标签中的文件文件名称就会自动的下载所点击的文件,自动下载到所设置的文件夹中,然后就是到了下载附件主要的代码部分了,下载附件的这个功能在视图页面中是不用写任何的代码的,因为下载附件这个功能是在上传附件里的,在上传附件中的文件中直接点击文件名称就可以进行下载了,所以就没有什么视图页面部分的代码,只需要在控制器中写上需要的少量的代码就可以了,那么详细代码就直接看下面的截图。
(控制器部分代码)
在这里插入图片描述
控制器这一部分的代码都是写在public中的然后自定义一个方法名,然后在后面的括号中传入参数就可以了,传入参数之前要写上参数的类型,我这里的参数类型是string就在参数的前面写上对应的类型就可以了,然后就是需要获取到需要下载文件的路径,这里的路径就是上面所说的需要下载文件到什么文件夹的路径差不多的,有的浏览器在你下载的时候会提示需要下载文件到什么文件夹中的,不过有的浏览器没有这个选择的,只能说大部分可以在下载前可以选择文件夹,少数是不可以的,获取到文件的地址后就需要经过判断一下了,判断文件是否存在,如果存在就获取不包含文件扩展名的名称,扩展名就是文件名称的小点后的名称,这里就是需要获取到不包含后面的扩展名的文件名称,然后就是要去除文件上传时添加的时间字符串,就是上传文件的时候为了防止上传的名称相同而加上的时间字符串,就是要去掉这一串时间,去除其实就是把名称的长度的总数减去时间字符串的长度就可以了,然后就是还需要还原文件的名称,最后就是把文件以return File的方式返回到页面就可以了,如果判断到文件不存在指定的路径中就需要给用户提示下载的文件不存在就可以了,文件不存在的因素也是有很多种的就比如用户自己给删除掉了也不奇怪的,到这里这个下载附件的小功能就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值