上次Insus.NET有在MVC应用程序实现了上传文件的功能《MVC应用程序显示上传的图片》 http://www.cnblogs.com/insus/p/3597543.html 
有上传就有下载。本篇博文是把上传的文件以列表的形式显示View视图上,然后用户可以点击下载。

为了解更多的内容,建议你先看上链接一篇。

在MVC应用程序的Entity目录下,找到和打开FileLibraryEntity.cs,添加一个返回DataTable的方法:

#1写一个GetUploadFileByPrimarykey(FileLibrary fl)函数,返回DataTable,目的是传入主键,从数据库获取相关的文件信息。

#2 与#3修改的地方,与本篇没有关系,Insus.NET只是看到有代码冗余,随便重构而已。

接下来,自定义一个Result,叫DownloadResult吧,这个类有继承了ContentResult类,还需要override ExecuteResult()方法:

写控制器:

186行代码是视图,将用来显示下载列表。

191行代码,是下载方法。

#1标记,是接收参数。

#2标记,获取数据表中某一笔记录。

#3标记,获取旧文件名,和新文件名(即是存在应用程序目录中的文件名)。

#4标记,处理下载文件路径。

#5标记,获取下载文件的数据流。

下面的实现步骤,是创建视图FileDownloadDemo.cshtml:

呈现数据记录:

运行看看,它显示异常:

检查,发现传入的参数名与方法接收的名不一致:

把fId改为id。再运行看看:

似乎正常。但是细心的网友也许发现最后一个链接,在下载时,文件名已经变成了"2"。中文文件名在下载时,有点异常。
没事的,Insus.NET知道问题在哪里:

把#28行代码改为#29 #30行代码。
再运行看看:

ASP.NET MVC应用程序实现下载功能相关推荐

  1. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序使用高级功能...

    这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第十二篇:为ASP.NET MVC应用程 ...

  2. 在ASP.NET MVC应用程序中实现Server.Transfer()类似的功能

    在ASP.NET MVC应用程序中,如果使用Server.Transfer()方法希望将请求转发到其它路径或者Http处理程序进行处理,都会引发"为xxx执行子请求时出错"的Htt ...

  3. ASP.NET安全[开发ASP.NET MVC应用程序时值得注意的安全问题](转)

    概述 安全在web领域是一个永远都不会过时的话题,今天我们就来看一看一些在开发ASP.NET MVC应用程序时一些值得我们注意的安全问题.本篇主要包括以下几个内容 : 认证 授权 XSS跨站脚本攻击 ...

  4. 使用asp.net mvc开发应用程序,页面中的page.IsPostback还有用处吗?

    本来我对asp.net mvc也研究了一段时间了,我也使用了asp.net mvc开发了两套应用程序,虽然都不是什么大的系统. 今天也想特别提出一个疑问,不知道是我不知道呢,还是本身很难实现在asp. ...

  5. mvc如何应用nuget包_第五周NuGet软件包-使用Glimpse调试ASP.NET MVC应用程序

    mvc如何应用nuget包 Hey, have you implemented the NuGet Action Plan? Get on it, it'll take only 5 minutes: ...

  6. ASP.NET MVC应用程序展示RDLC报表

    ASP.NET MVC应用程序展示RDLC报表 原文:ASP.NET MVC应用程序展示RDLC报表 学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有 ...

  7. 使用mvc模式读取服务器上的文件,关于C#:如何使用asp.net MVC应用程序从服务器上的网络路径读取...

    我已经在运行.net MVC应用程序的Web服务器上设置了到另一台用于存储上载文件的服务器的网络路径.为了允许通过应用程序将文件上传到网络路径,我修改了IIS中的应用程序池,以便该应用程序有权上传到它 ...

  8. 超级简单:一步一步教你创建一小型的asp.net mvc 应用程序

    超级简单:一步一步教你创建一小型的asp.net mvc 应用程序 这本教程中将帮助你创建一个小型的asp.net mvc示例. 在本教程中,我们将创建自己的 Model , View 和Contro ...

  9. [导入]ASP.NET MVC框架开发系列课程(2):一个简单的ASP.NET MVC应用程序.zip(13.70 MB)...

    讲座内容: 使用ASP.NET MVC框架进行开发与ASP.NET WebForms截然不同.本次课程将通过官方的示例程序简单了解一下ASP.NET MVC应用程序的结构与特点. 课程讲师: 赵劼 M ...

最新文章

  1. 最终的解决方案感到担心初中——现在,你可以移动
  2. UEFI主板GPT方式安装CentOS 6.4
  3. 刚构桥的优缺点_连续刚构桥相对于连续梁来说有优点吗
  4. Kubernetes本地集群和Google Kubernetes Engine的区别
  5. 记一次Jquery获取值的典型错误
  6. eclipse python插件_pydev插件下载-eclipse中的python插件下载6.0.0 官网最新版-西西软件下载...
  7. 安装vuejs全过程、淘宝镜像
  8. 前端_网页编程 Form表单与模板引擎(上)
  9. android 手机号码显示加空格,Android实现输入手机号时自动添加空格
  10. wince java_Wince之旅——设备控制(重启网卡为例)
  11. bzoj1228 [SDOI2009]ED 找规律
  12. 三十分钟包会——正则表达式
  13. oracle ebs wsh picking batch,ebs 11i 订单相关表结构学习及销售到出仓所经历的表
  14. Kinect+OpenNI学习笔记之13(Kinect驱动类,OpenCV显示类和手部预分割类的设计)
  15. 为什么要序列化Serialization
  16. 伴生对象-apply方法
  17. 【软考软件评测师】2018综合知识历年真题
  18. rHadoop分布式安装与配置
  19. MODIS数据下载及图像处理教程
  20. 服务器显示htx插槽,华硕最新推出一系列服务器及主板解决方案

热门文章

  1. VTK:Utilities之FileOutputWindow
  2. VTK:相互作用之CallData
  3. VTK:图片之ImageThreshold
  4. OpenGL键盘消息实例
  5. C++静态多态与动态多态
  6. QML基础类型之font
  7. 项目优化之:GPU编程
  8. CXF客户端配置请求超时限制-SocketTimeoutException(Spring配置文件中配置和通过代码进行配置)
  9. Spring AOP详解(http://sishuok.com/forum/posts/list/281.html)
  10. 处理字符串_1_生成自增值