asp.net上传下载

<form id="form1" runat="server">
    
<div>
        
<asp:FileUpload ID="FileUpload1" runat="server" />&nbsp;<asp:Button ID="Button1"
            runat
="server" OnClick="Button1_Click" Text="上传文件" /><br />
        
<br />
        
<asp:Image ID="Image1" runat="server" Height="300px" Width="300px" /><br />
        
<br />
        
<br />
        
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="200px"
            Width
="500px">
            
<Columns>
                
<asp:HyperLinkField DataNavigateUrlFields="FileName" DataNavigateUrlFormatString="UpDownFile.aspx?id={0}"
                    DataTextField
="FileName" HeaderText="FileName" />
                
<asp:BoundField DataField="CreateTime" HeaderText="CreateTime" />
            
</Columns>
        
</asp:GridView>
    
    
</div>
</form>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class Up__Down_File : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            Bind();
        }

        
if (Request.QueryString["id"!= null//接收用户要下载的文件ID
        {
            
string file = Request.QueryString["id"];
            Response.AddHeader(
"content-disposition""attachment;filename=" + Server.UrlEncode(file));
            Response.WriteFile(Server.MapPath(
"~/UpLoad/"+ file);
            Response.Flush();
            Response.End();
        }

    }

    
protected void Button1_Click(object sender, EventArgs e)
    
{
        
if (FileUpload1.FileName != null//上传文件显示在图片框
        {
            FileUpload1.SaveAs(Server.MapPath(
"~/UpLoad/")+ FileUpload1.FileName);
            Image1.ImageUrl 
= "~/UpLoad/" + FileUpload1.FileName;
            Image1.Visible 
= true;
        }

    }

    
void Bind()  //绑定读取下载文件夹文件信息到GridView
    {
        DataTable dt 
= new DataTable();
        dt.Columns.Add(
"FileName"typeof(string));
        dt.Columns.Add(
"CreateTime"typeof(DateTime));
        
foreach (string file in Directory.GetFiles(Server.MapPath("~/UpLoad/")))
        
{
            DataRow dr 
= dt.NewRow();
            dr[
0= Path.GetFileName(file);
            dr[
1= File.GetCreationTime(file);
            dt.Rows.Add(dr);
        }

        GridView1.DataSource 
= dt;
        GridView1.DataBind();
    }

}

posted @ 2009-04-15 09:45  瞭望者  阅读(458)  评论(1)    收藏  举报