本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载。

  1.上传文件

  (1)页面代码

   <table align="center" cellpadding="" cellspacing="" width="100%">
<tr>
<td align="right">文件名称:</td>
<td>
<asp:TextBox ID="FileName" runat="server"></asp:TextBox>
</td>
<td></td>
</tr>
<tr>
<td align="right">浏览:</td>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<asp:Button ID="UploadButton" runat="server" Text="上传"
onclick="UploadButton_Click" /><asp:Label ID="Msg" runat="server" ForeColor="#FF0000"></asp:Label>
</td>
<td></td>
</tr>
</table>

  (2).后台代码  

protected void UploadButton_Click(object sender, EventArgs e)
{
Msg.Text = "";
MyWebSite.DAL.FileInfo file = new MyWebSite.DAL.FileInfo();
if (string.IsNullOrEmpty(FileName.Text))
{
Msg.Text = "请输入文件名";
return;
}
if (FileUpload1.HasFile)
{
try
{ DateTime upload = DateTime.Now;
string flag = Path.GetExtension(FileUpload1.PostedFile.FileName);
string path = Server.MapPath("../Upload/" + FileUpload1.FileName);
string size = (FileUpload1.PostedFile.ContentLength / ).ToString();
FileUpload1.SaveAs(path);
file.FileName = FileName.Text.ToString();
file.Type = flag;//获得文件格式
file.Size = size;//文件大小
file.FilePath = path;//上传到服务器的绝对路径
file.UploadTime = DateTime.Now.ToShortDateString();//上传时间
handler.AddFile(file);//将上传的文件信息保存到数据库
Msg.Text = "上传成功!";
}
catch
{ Msg.Text = "上传失败!";
}
}
}

  2.下载文件

  (1)前台页面

<asp:Repeater ID="Repeater1" runat="server" onitemcommand="down_file_Click">
<ItemTemplate>
<table width="90%" align="center" border="" cellpadding="" cellspacing="" bgcolor="#e1e1e1" class="title_font">
<tr>
<td class="title_font" width="10%" align="center">文件名称:</td>
<td width="20%"align="center"><b><asp:Label ID="FileTitle" runat="server" Text='<%#Eval("文件名称") %>'></asp:Label></b></td>
<td width="6%"align="center">类型:</td>
<td width="6%"align="center"><%#Eval("类型") %></td>
<td width="10%" align="center">文件大小:</td>
<td width="8%"align="center"><%#Eval("文件大小") %>KB</td>
<td width="10%"align="center">上传时间:</td>
<td ><%#Eval("上传时间") %></td>
<td width="10%" colspan="" align="center"><asp:LinkButton ID="LinkButton1" CommandArgument='<%#Eval("link") %>' runat="server">下载文件</asp:LinkButton>
</td>
</tr>
</table>
<br />
</ItemTemplate>
</asp:Repeater>

  (2)后台代码

  1).绑定数据

        public void GrvDataBin(List<FileInfo> list)
{ DataView dv = new DataView();
DataTable dt = new DataTable("fileMeta");
{
dt.Columns.Add("文件名称");
dt.Columns.Add("类型");
dt.Columns.Add("上传时间");
dt.Columns.Add("文件大小");
dt.Columns.Add("link");
}
foreach (FileInfo fileM in list)
{
DataRow row = dt.NewRow();
row[] = fileM.FileName;
row[] = fileM.Type;
row[] = fileM.UploadTime;
row[] = fileM.Size;
row[] = fileM.FilePath;
dt.Rows.Add(row);
}
dv.Table = dt;
Repeater1.DataSource = dv;
Repeater1.DataBind(); }

  2).下载文件

  

protected void down_file_Click(object sender, RepeaterCommandEventArgs e)
{
System.IO.FileStream fs = null;
try
{
string filePath = e.CommandArgument.ToString();
string fileName = ((Label)e.Item.FindControl("FileTitle")).Text.ToString();
fs = System.IO.File.OpenRead(filePath);
byte[] buffer = new byte[];
long count = ;
Response.Buffer = true;
Response.AddHeader("Connection", "Keep-Alive");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(System.IO.Path.GetFileName(filePath)));//下载时要保存的默认文件名
Response.AddHeader("Content-Length", fs.Length.ToString());
while (count == )
{
count = fs.Read(buffer, , );
Response.BinaryWrite(buffer);
} }
catch (Exception ex)
{
return;
}
finally
{
fs.Close();
}
}

  以上就完成了,简单的文件上传与下载。 

 

ASP.NET 文件上传于下载的更多相关文章

  1. ASP.NET文件上传和下载

    大学最近作出相关的需求进行上传和下载文件的网站(求为:站点发布的通知,在后台要能给每一个通知加入附件.在前台要能显示并下载附件),之前仅仅是学习过关于上传的 理论知识,这里实践了一下下,与大家分享一下 ...

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

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

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

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

  4. C# 之 FTPserver中文件上传与下载(二)

            通过上一篇博客<C# 之 FTPserver中文件上传与下载(一)>,我们已经创建好了一个FTPserver,而且该server须要username和password的验证 ...

  5. java web学习总结(二十四) -------------------Servlet文件上传和下载的实现

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  6. (转载)JavaWeb学习总结(五十)——文件上传和下载

    源地址:http://www.cnblogs.com/xdp-gacl/p/4200090.html 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传 ...

  7. JavaWeb学习总结,文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  8. java文件上传和下载

    简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...

  9. 使用jsp/servlet简单实现文件上传与下载

    使用JSP/Servlet简单实现文件上传与下载    通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...

随机推荐

  1. SharePoint 使用ECMAscript对象模型来读取帖子列表

    本随笔讲述如何用JavaScript来读取SharePoint 2013 中blog相关的帖子列表. ASCX File Content: <div id="divGetItemsFr ...

  2. react-router实现tab页面切换,并解决选中样式首页始终选中问题

    import React, {Component} from 'react'; import { BrowserRouter as Router, Route, NavLink } from &quo ...

  3. Linux远程管理之SVN,VNC

    一.远程管理的基本概念 首先我们来初略的讲讲远程管理的一些基本概念.对于我们使用的计算机来说,如果是个人计算机,就没有远程管理这一概念了,想用的时候开机就能使用,而对于我们的服务器来说,就不同了,对于 ...

  4. ​4种实现多列布局css

    摘要: 多列布局在网站应用中也是经常见到的,今天就分享4中多列布局. display:table <style> .table { width: auto; min-width: 1000 ...

  5. php 自定义 分页函数

    <?php /** * 分页函数 * @param type $num 数据总数 * @param type $perpage 每页总数 * @param type $curpage 当前分页 ...

  6. cocos2d-x 3.0 在C++中调用lua函数(2)

    个人觉得3.0里面, 在C++下面调用lua函数很不方便, 所以就扩展了一个类, 继承自LuaStack, 代码和使用方式如下: #ifndef __CC_LUA_STACKEX_H_ #define ...

  7. iOS 使用动态库

    苹果的开放态度 WWDC2014上发布的Xcode6 beta版有了不少更新,其中令我惊讶的一个是苹果在iOS上开放了动态库,在Xcode6 Beta版的更新文档中是这样描述的: Frameworks ...

  8. 一句话shell

    作者:NetSeek1.删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列ps -e -o "%C : %p : % ...

  9. osg剔除背面开启

    //设置背部剔除看不见背面东西 osg::ref_ptr<osg::CullFace> cullface=new osg::CullFace(osg::CullFace::BACK); s ...

  10. codeforces水题100道 第四题 Codeforces Round #105 (Div. 2) A. Insomnia cure (math)

    题目链接:http://www.codeforces.com/problemset/problem/148/A题意:求1到d中有多少个数能被k,l,m,n中的至少一个数整出.C++代码: #inclu ...