本文转自: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 简单的文件上传下载相关推荐

  1. ASP.NET中常用的文件上传下载方法

    ASP.NET中常用的文件上传下载方法 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务 ...

  2. 树莓派3B+采用花生棒进行内网穿透,从拆箱到实现SSH远程控制与sftp简单远程文件上传下载

    树莓派3B+采用花生棒进行内网穿透,使用sftp实现远程控制与简单远程文件上传下载) 准备步骤 物理环境搭建 关于基础配置的博文推荐 树莓派联网配置 基础联网 配置静态ip 花生壳内网穿透 常用远程端 ...

  3. 关于SpringMVC框架实现简单的文件上传下载(ssm)

    关于ssm框架整合文件的上传和下载. 首先来看单个附件的上传和下载: 1.首先创建一个用来测试的jsp文件上传下载的页面  代码如下 <%@ page language="java&q ...

  4. .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)

    文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以 ...

  5. [转]ASP.NET中常用的文件上传下载方法

    1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以及下载方法 4.上传Internet上的资源 第一部分:     首先我们来说一下如何解决ASP.NET ...

  6. python scoket、SocketServer简单实现文件上传下载

    2019独角兽企业重金招聘Python工程师标准>>> 1.描述 实现任何位置文件下载到客户端执行的当前目录下 实现任何位置文件上传到服务端执行的当前目录下服务端: #!/usr/b ...

  7. Android与Asp.Net Web服务器的文件上传下载BUG汇总[更新]

    遇到的问题: 1.java.io.IOException: open failed: EINVAL (Invalid argument)异常,在模拟器中的sd卡创建文件夹和文件时报错 出错原因可能是: ...

  8. salesforce 零基础学习(四十二)简单文件上传下载

    项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...

  9. Asp.net中文件上传下载的简单实现

    1. 文件下载 在asp.net中,如果想点击某aspx的url实现文件下载只要在其Page_Load函数实现目标url的重定向即可.用下列代码即可实现. Response.Redirect(&quo ...

  10. ASP.NET MVC实现简单的文件上传与下载

    使用ASP.NET MVC实现简单的文件上传与下载. 1.上传文件HTML <form action='@Url.Action("Upload", "File&qu ...

最新文章

  1. 是 String , StringBuffer 还是 StringBuilder ?
  2. Python中赋值、浅拷贝、深拷贝
  3. [摘录]高效人士七习惯—从依赖到独立
  4. Leetcode代码练习(三)
  5. linux 32bit swt,无法在Windows 32位上加载SWT库
  6. vscode Python 运行环境配置
  7. 2011年度十大杰出IT博客获奖感言
  8. 树链剖分 讲解+模板+习题
  9. 【常见问题】hive、Hadoop(HA)、sqoop出现的问题的总结---各种问题以及解决方案-
  10. vs 2017 linux版本,vs2017 linux版
  11. Windows映像劫持调试程序
  12. 68ES6_解构_数组操作_对象操作
  13. 每个开发人员都应该学习的5种编程语言(上)
  14. agc013e Placing Squares(模型转化+dp+矩阵优化)
  15. print list Reversely
  16. 不聊奶茶妹,咱就聊聊京东2016年校招那些事儿
  17. (设计模式) (李建忠 C++) 23种设计模式
  18. 亲身试验力荐:番茄工作法
  19. win10 引导系统损坏 和 bios设置
  20. Authentication token manipulation error问题解决

热门文章

  1. java TIF 转 JPG
  2. 天翎开源,是一种技术,更是一种信仰
  3. UVA 177 PaperFolding 折纸痕 (分形,递归)
  4. 学习笔记1——制作数据集
  5. nltk系列:Lemmatisation和Stemming(NLTK pos_tag word_tokenize)
  6. 60万餐厅数据为你画出全国美食地图(附技术讲解)
  7. 链家网东莞二手房数据分析
  8. python保存excel文件列宽自适应解决方案
  9. 怎么看计算机的a卡右键找不到,右键没有显卡,右键没有amd显卡选项
  10. a卡 n卡 html5性能,a卡n卡天梯图_a卡n卡显卡性能对照表2020年5月