Home / dotNet / 上传文件到数据库
Page options

上传文件到数据库


在downfile.aspx中加入datagride控件
   <asp:DataGrid id="dgfilelist" runat="server" AutoGenerateColumns="False" Width="152px">
       <Columns>
        <asp:TemplateColumn HeaderText="附件标题">
         <ItemTemplate>
          <a href='download.aspx?DocTitle=<%# DataBinder.Eval(Container.DataItem,"DocTitle") %>'>
           <%# DataBinder.Eval(Container.DataItem,"DocTitle") %>
          </a>
         </ItemTemplate>
        </asp:TemplateColumn>
        <asp:TemplateColumn HeaderText="类型">
         <ItemTemplate>
          <%# DataBinder.Eval(Container.DataItem,"DocType") %>
         </ItemTemplate>
        </asp:TemplateColumn>
       </Columns>
      </asp:DataGrid></FONT></P>


然后在dwonload.aspx中:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace longmengOA
{
/// <summary>
/// download 的摘要说明。
/// </summary>
public class download : System.Web.UI.Page
{
   SqlConnection objConnection;
   SqlDataReader dr;

   private void Page_Load(object sender, System.EventArgs e)
   {
    // 在此处放置用户代码以初始化页面
    string doctitle= Page.Request.QueryString["DocTitle"].ToString();

    string connstr="server=(local);Initial Catalog=longmengoa;User ID=sa;Password=lm;";
    objConnection = new SqlConnection(connstr);

    //读取数据
    objConnection.Open();
    string sqlstr="Select * from TupDoc where DocTitle='" +doctitle+"'" ;
    SqlCommand sqlcmd=new SqlCommand(sqlstr,objConnection);
    dr=sqlcmd.ExecuteReader();

    //运行测试
    try
    {
     //读取成功
     if (dr.Read())
     {
      string fileName = dr["DocTitle"].ToString();//文件名
//      new BusiFile().ReadFileStream(fileName, (byte[])dr["Doc"]);//文件长度
      Response.ContentType = "application/octet-stream";
//对下载文件名使用UTF8编码,避免乱码
      Response.AddHeader("Content-Disposition", "attachment;FileName+HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8));
//显示文件下载进度
       Response.AddHeader("Content-Length", ((byte[])dr["fileImage"]).Length.ToString());       Response.BinaryWrite((byte[])dr["Doc"]);
      Response.End();
    }
    }
    catch (Exception err)//出错
    {
     HttpContext.Current.Response.Write("<script language=javascript>alert('" + err.Message + "');</script>"); //提示出错原因
    }
    dr.Close();//关闭DataReader
    HttpContext.Current.Response.End();

   }

   #region Web 窗体设计器生成的代码
   override protected void OnInit(EventArgs e)
   {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
   }
  
   /// <summary>
   /// 设计器支持所需的方法 - 不要使用代码编辑器修改
   /// 此方法的内容。
   /// </summary>
   private void InitializeComponent()
   {   
    this.Load += new System.EventHandler(this.Page_Load);
   }
   #endregion
}
}

 

Post a comment

Your Name or E-mail ID (mandatory)

 

Note: Your comment will be published after approval of the owner.

No Attachments Found. Click here to upload new file.




 RSS of this page

Author: ronliu   Version: 1.0   Last Edited By: ronliu   Modified: 11 Jun 2008