MVC应用程序实现上传文件

来源:互联网 发布:js导出excel 多个表 编辑:程序博客网 时间:2024/05/16 11:55

学习MVC以来,一直想实现上传文件的功能,使用jQuery来实现上传,有很多插件。此篇演示中,Insus.NET是使用Uploadify。http://www.uploadify.com/,它有更多的文件说明,可以参考:http://www.uploadify.com/documentation/。

你可以使用MVC的NuGet Packages管理器,来安装这个jQuery的插件:

 

安装好之后,可以在MVC应用程序的Scripts目录看到它:

 

 在HomeContollers中,创建一个ActionResult和一个ContentResult action,前者是为MVC创建一个视图,而后者是处理文件上传。

 

演示中,Insus.NET是把上传的文件存储于MVC应用程序中的Temp目录下,当然你是可以在你指定的目录,或是存储于数据库中。

 

 

#1~#3是在视图的Head节点中,引用jQuery,Uploadify的js库与样式。

#4是上传的html标签。

而#5的,可以参考下面详细的jQuery代码:

 

算完成了,最后是看看实时演示效果:

 

前几天,有练习了《MVC应用程序实现上传文件》http://www.cnblogs.com/insus/p/3590907.html 那只是把文档上传至MVC应用程序下的某一目录之中。

其实,真实环境中,还得存储一些相关信息至数据库中。如旧文件名,新存储于文件夹的新文件名,大小,基本的类型等。

下面Insus.NET就慢慢来演示此功能。

先是在数据库中,创建一个表[dbo].[FileLibrary]:

 
创建一个存储过程,好让程序能对上面创建好的表,添加数据[dbo].[usp_FileLibrary_Insert]:


数据库方面准备好了,来到MVC应用程序,创建model:


创建一个实体Entity:

 

最后修改controller:


下面为运行实时演示效果:


 
以下内容于2014-03-20 09:20分补充
添加测试三种浏览器,IE,FireFox,Chome上传情况。


0 0
原创粉丝点击