asp.net mvc3 简单的文件上传下载
本文转自:http://www.cnblogs.com/kaixing/archive/2011/11/10/2244634.html
web.config配置<add name="连接字符串" connectionString="data source=服务器名;Initial Catalog=数据库;Persist Security Info=True;User ID=用户名;Password=密码" providerName="System.Data.SqlClient" />建立数据库、表就省略了····1.建立模型文件FileStores.csusing System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.ComponentModel; using System.ComponentModel.DataAnnotations;namespace UpLoadFile.Models {[Table("FileStore")] // 关联表用public class FileStore{public int ID { get; set; }[DisplayName("文件类型")]public string MimeType { get; set; }[DisplayName("文件名")]public string FileName { get; set; }[DisplayName("文件路径")]public string FileUrl { get; set; }} }2.新建文件DbConnect.cs 建立数据库链接用using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; using System.ComponentModel; using System.ComponentModel.DataAnnotations;namespace UpLoadFile.Models {public class DbConnect : DbContext{public DbConnect(string connecting) : base(connecting) { }public DbSet<FileStore> FileStores { get; set; }} }3.建立控制器UploadController.cs,以下是代码using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.IO; using UpLoadFile.Models;namespace UpLoadFile.Controllers {public class UploadController : Controller{DbConnect db = new DbConnect("FileConnector");//数据库链接,FileConnector为web.config的链接字符串public ActionResult Index(){return View();}//文件上传public ActionResult Upload(){foreach (string upload in Request.Files){if (!HasFiles.HasFile(Request.Files[upload])) continue;string miniType = Request.Files[upload].ContentType;Stream fileStream = Request.Files[upload].InputStream;string path = AppDomain.CurrentDomain.BaseDirectory + "files\\";string filename = Path.GetFileName(Request.Files[upload].FileName);Request.Files[upload].SaveAs(Path.Combine(path, filename));var files = new FileStore(){MimeType = miniType,FileName = filename,FileUrl = Path.Combine(path, filename)};db.FileStores.Add(files);//存储到数据库 db.SaveChanges();}return RedirectToAction("List");}//下载列表页public ActionResult List(){var list = db.FileStores.ToList();return View(list);}//文件下载public FilePathResult Download(int id){var fileinfo = db.FileStores.Find(id);return File(fileinfo.FileUrl, fileinfo.MimeType, fileinfo.FileName);}}public static class HasFiles{public static bool HasFile(this HttpPostedFileBase file){return (file != null && file.ContentLength > 0) ? true : false;}}}4.视图文件index.cshtml@model UpLoadFile.Models.FileStore @{ViewBag.Title = "上传文件"; }<h2>上传文件</h2> @using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" })) {//使用此控件会限制文件大小最大上传4m 可在web.config中配置<httpRuntime executionTimeout= "5400 " maxRequestLength= "2048000 " 文件大小useFullyQualifiedRedirectUrl= "false " /> <div id="files"><input type="file" name="FileUpload" /></div><input type="button" id="add" value="增加" /><input type="submit" name="Submit" id="Submit" value="上传" /> } <script type="text/javascript">var n = 1;$("#add").click(function () {var filename = "FileUpload" + n;$("#files").append("<input type=\"file\" name=\""+filename+"\" />");n++;}); </script>其他页面自己建立,下载<a href="@Url.Action("Download", new { id=Model.ID})">@Model.FileName</a>
asp.net mvc3 简单的文件上传下载相关推荐
- ASP.NET中常用的文件上传下载方法
ASP.NET中常用的文件上传下载方法 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务 ...
- 树莓派3B+采用花生棒进行内网穿透,从拆箱到实现SSH远程控制与sftp简单远程文件上传下载
树莓派3B+采用花生棒进行内网穿透,使用sftp实现远程控制与简单远程文件上传下载) 准备步骤 物理环境搭建 关于基础配置的博文推荐 树莓派联网配置 基础联网 配置静态ip 花生壳内网穿透 常用远程端 ...
- 关于SpringMVC框架实现简单的文件上传下载(ssm)
关于ssm框架整合文件的上传和下载. 首先来看单个附件的上传和下载: 1.首先创建一个用来测试的jsp文件上传下载的页面 代码如下 <%@ page language="java&q ...
- .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)
文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以 ...
- [转]ASP.NET中常用的文件上传下载方法
1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以及下载方法 4.上传Internet上的资源 第一部分: 首先我们来说一下如何解决ASP.NET ...
- python scoket、SocketServer简单实现文件上传下载
2019独角兽企业重金招聘Python工程师标准>>> 1.描述 实现任何位置文件下载到客户端执行的当前目录下 实现任何位置文件上传到服务端执行的当前目录下服务端: #!/usr/b ...
- Android与Asp.Net Web服务器的文件上传下载BUG汇总[更新]
遇到的问题: 1.java.io.IOException: open failed: EINVAL (Invalid argument)异常,在模拟器中的sd卡创建文件夹和文件时报错 出错原因可能是: ...
- salesforce 零基础学习(四十二)简单文件上传下载
项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...
- Asp.net中文件上传下载的简单实现
1. 文件下载 在asp.net中,如果想点击某aspx的url实现文件下载只要在其Page_Load函数实现目标url的重定向即可.用下列代码即可实现. Response.Redirect(&quo ...
- ASP.NET MVC实现简单的文件上传与下载
使用ASP.NET MVC实现简单的文件上传与下载. 1.上传文件HTML <form action='@Url.Action("Upload", "File&qu ...
最新文章
- 是 String , StringBuffer 还是 StringBuilder ?
- Python中赋值、浅拷贝、深拷贝
- [摘录]高效人士七习惯—从依赖到独立
- Leetcode代码练习(三)
- linux 32bit swt,无法在Windows 32位上加载SWT库
- vscode Python 运行环境配置
- 2011年度十大杰出IT博客获奖感言
- 树链剖分 讲解+模板+习题
- 【常见问题】hive、Hadoop(HA)、sqoop出现的问题的总结---各种问题以及解决方案-
- vs 2017 linux版本,vs2017 linux版
- Windows映像劫持调试程序
- 68ES6_解构_数组操作_对象操作
- 每个开发人员都应该学习的5种编程语言(上)
- agc013e Placing Squares(模型转化+dp+矩阵优化)
- print list Reversely
- 不聊奶茶妹,咱就聊聊京东2016年校招那些事儿
- (设计模式) (李建忠 C++) 23种设计模式
- 亲身试验力荐:番茄工作法
- win10 引导系统损坏 和 bios设置
- Authentication token manipulation error问题解决
热门文章
- java TIF 转 JPG
- 天翎开源,是一种技术,更是一种信仰
- UVA 177 PaperFolding 折纸痕 (分形,递归)
- 学习笔记1——制作数据集
- nltk系列:Lemmatisation和Stemming(NLTK pos_tag word_tokenize)
- 60万餐厅数据为你画出全国美食地图(附技术讲解)
- 链家网东莞二手房数据分析
- python保存excel文件列宽自适应解决方案
- 怎么看计算机的a卡右键找不到,右键没有显卡,右键没有amd显卡选项
- a卡 n卡 html5性能,a卡n卡天梯图_a卡n卡显卡性能对照表2020年5月