###### 本文的开发配置 ######

.NET版本:.NET Framework 4.0

开发环境:Microsoft Visual Studio 2013

浏览器:IE、Chrome、FireFox等都行

1、搭建网站结构

建立一个新的目录存放网页文件,用VS2013在这个目录里面建一个网站项目(VS2013怎么新建网站项目?)

新建两个目录UploadFile和DownloadFile,分别用于保存用户上传到服务器的文件和供用户从服务器下载的文件

2、编写网页文件

创建一个Web窗体Default,包含Default.aspx和Default.aspx.cs两个文件,源代码如下:

[Default.aspx]

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title>
</head>
<body><form id="form1" runat="server"><table width="400" border="0" cellspacing="0" cellpadding="0"><tr><td><!-- 这里是文件上传的控件 --><asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="ButtonUpload" runat="server" Text="确认上传" OnClick="ButtonUpload_Click" /></td></tr><tr><td><!-- 这是个用来下载文件的按钮 --><asp:Button ID="ButtonDownload" runat="server" Text="下载文件" OnClick="ButtonDownload_Click" /></td></tr></table></form>
</body>
</html>

[Default.aspx.cs]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;using System.IO;   // 记得加这个引用,文件下载要用到public partial class _Default : System.Web.UI.Page
{// 文件路径参数private string UPLOAD_DIRECTORY = "UploadFile/";      // 上传到服务器的文件放这里private string DOWNLOAD_DIRECTORY = "DownloadFile/";  // 供用户下载的文件放这里// 页面加载protected void Page_Load(object sender, EventArgs e){}/** 函数名:ButtonUpload_Click* 作用:响应用户上传文件* 参数:object sender, EventArgs e* 返回:void*/protected void ButtonUpload_Click(object sender, EventArgs e){// 当选择好上传文件时if (FileUpload1.HasFile){// 确定上传文件的本地路径string filePath = Server.MapPath("~/" + UPLOAD_DIRECTORY);// 确定文件名string fileName = FileUpload1.PostedFile.FileName;// 上传到服务器FileUpload1.SaveAs(filePath + fileName);// 提示上传成功Response.Write("<p >上传成功!</p>");}else{// 没有选择文件就点击上传时报错,提示要选文件Response.Write("<p >请选择要上传的文件!</p>");}}/** 函数名:ButtonDownload_Click* 作用:响应用户下载文件* 参数:object sender, EventArgs e* 返回:void*/protected void ButtonDownload_Click(object sender, EventArgs e){// 要下载的文件名,根据实际情况获取到这种形式string filename = "test.jpg";try{// 服务器文件路径string strFilePath = Server.MapPath("~") + "/" + DOWNLOAD_DIRECTORY + filename;FileInfo fileInfo = new FileInfo(strFilePath);Response.Clear();Response.Charset = "GB2312";Response.ContentEncoding = System.Text.Encoding.UTF8;Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(fileInfo.Name));Response.AddHeader("Content-Length", fileInfo.Length.ToString());Response.ContentType = "application/x-bittorrent";Response.WriteFile(fileInfo.FullName);Response.End();}catch (System.Threading.ThreadAbortException ex){}catch (Exception ex){}}
}

3、运行测试

在VS2013里点击调试开始运行,这是打开后的界面

点击“选择文件”去选择本地文件,比如我们选一个Image 1.png文件,点击“确认上传”

片刻会看到网页显示“上传成功!”,表示刚刚的PNG文件上传到了服务器,即网站所在的目录

我们去网站文件所在的目录查看一下,果然在UploadFile目录下有刚刚上传的文件

点击“下载文件”按钮,浏览器会弹出下载文件提示框,点击“下载”

片刻就会提示下载完毕,我们还是去下载到的目录中看看

刚刚选择的是下载到桌面,直接去桌面看就行了,我们确实发现刚刚下载了一个test.jpg文件在桌面

当然,这个文件下载是这里固定了文件的,根据代码我们可以自己实现选择什么样的文件去下载到本地

相关文章:Win7上在IIS服务器中部署ASP.NET网站项目(完整demo)

(这篇文章里面有网站部署和网站项目的建立)

ASP.NET实现文件上传和下载相关推荐

  1. [转载]ASP.NET Core文件上传与下载(多种上传方式)

    ASP.NET Core文件上传与下载(多种上传方式) 前言 前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NET Core了. 打算写个系列,但是还没想好目录,今天先来一篇,后面在整理 ...

  2. asp.net coree文件上传与下载实例

    asp.net core像springboot非常相似,我们从一个springboot文件上传与下载的例子来引到asp.net core的文件上传与下载: 本文asp.net core版本为:6.0 ...

  3. ASP.NET Core文件上传与下载(多种上传方式)

    前言 前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NET Core了. 打算写个系列,但是还没想好目录,今天先来一篇,后面在整理吧. ASP.NET Core 2.0 发展到现在,已经 ...

  4. ASP.NET超大文件上传与下载

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...

  5. ASP.NET Core文件上传、下载与删除

    首先我们需要创建一个form表单如下: <form method="post" enctype="multipart/form-data" asp-con ...

  6. asp.net 文件上传和下载管理源码

    利用asp.net进行文件上传和下载时非常常用的功能,现做整理,将源码上传,提供给初学者参考,以下代码中的样式文件就不上传了,下载者请将样式去掉. 效果图如下: <%@ Page Languag ...

  7. ASP.NET中文件上传下载方法集合

    asp.net 2008-08-23 21:10:35 阅读0 评论0   字号:大中小 订阅 ASP.NET中文件上传下载方法集合 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给 ...

  8. 2014-07-23 利用ASP.NET自带控件实现单文件上传与下载

    效果图 上传文件页面: 下载文件页面:   1.母版页site.Master <%@ Master Language="C#" AutoEventWireup="t ...

  9. ASP.NET 文件上传于下载

    本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载. 1.上传文件 (1)页面代码 <table alig ...

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

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

最新文章

  1. 前端相对路径 与后端相对路径的区分
  2. mysql left day 7_day7-mysql函数
  3. QT 托盘图标退出延迟解决方案
  4. Angular应用带参数的路由实现
  5. 54-locate 简明笔记
  6. Oracle中修改sysman和dbsnmp密码正确流程
  7. TortoiseGit客户端的ssh密钥配置
  8. springboot使用thymeleaf模板引擎时出现org.xml.sax.SAXParseException的原因与解决办法
  9. mysql --force 无效_【技能库】--mysql 索引失效 force index也失效-- 原因解决方案(256)...
  10. 如何才能把文字的排版做好
  11. iMazing2.14.6Mac最新版iOS苹果设备管理器
  12. 如何修复iPhone、iPad 或 Mac 上的 AirDrop 连接问题?
  13. flutter微信分享,qq分享
  14. Dedecms 火车采集器免登陆发布接口,自动生成上下篇、栏目页、首页
  15. 【Shading】Shader Programs
  16. 什么叫单模光纤_单模光纤和多模光纤的区别是什么
  17. Java 中exists用法_sql中exists,not exists的用法
  18. 品优购的界面设计要求_品优购项目
  19. Android Studio 快捷键大全
  20. 数据库 主键 外键 唯一键区别

热门文章

  1. python azure-storage-blob库 使用SAS key下载blob文件实例
  2. Matlab图像处理--低通滤波器的Matlab实现及透视图
  3. linux系统 锐捷_锐捷校园网Linux客户端认证xrgsu
  4. 中源幼儿园收费管理系统 v5.2.8 是什么
  5. mysql中计算月份函数_MySQL几个计算时间的函数汇总
  6. 【dsp】基于dsp28335的称重系统设计
  7. 如何用 Nginx 禁止国外 IP 访问网站?
  8. python入侵电脑教程_Python外星人入侵问题求助?python网站入侵视频教程
  9. win10 更新 英特尔显示器音频 后显示器音箱没有声音
  10. 2020年带你学会全网营销