我把rar等非图片文件上传到access数据库中,保存为OLE对象,现在想在一个页面上把这些文件列出来,然后别人点击就能下载,就像软件下载一样,请高手指点

解决方案 »

  1.   

    private   void   btnShow_Click(object   sender,   System.EventArgs   e) 
    { string   SQL= "SELECT   *   FROM   test1   "; string   ConnectionString   =   "   Provider=Microsoft.Jet.OLEDB.4.0;Data   Source   =   E:\\myvc\\testdb.mdb "; 
    OleDbConnection   conn=new   OleDbConnection(ConnectionString); 
    OleDbCommand   cmd=conn.CreateCommand(); 
    cmd.CommandText=SQL; 
    conn.Open(); 
    OleDbDataReader   dr=cmd.ExecuteReader(); if(dr.Read()) 

    string   strFile=string.Empty; 
    strFile=dr.GetString(1); 
    byte[]   by=(byte[])dr.GetValue(2); MemoryStream   mss   =   new   MemoryStream(by); this.picImage.Image   =   Image.FromStream(mss); 

    dr.Close(); 
    conn.Close(); 
    } private   void   btnExit_Click(object   sender,   System.EventArgs   e) 

    Dispose(true); 
    } private   void   btnSearch_Click(object   sender,   System.EventArgs   e) 

    Bitmap   MyImage   ; 
    string   fileToDisplay   =   " "; 
    OpenFileDialog   openFileDialog1   =   new   OpenFileDialog(); openFileDialog1.InitialDirectory   =   "c:\\ "   ; 
    openFileDialog1.Filter   =   "bmp   files   (*.bmp)|*.bmp|jpg   files   (*.jpg)|*.jpg|gif   files   (*.gif)|*.gif "   ; 
    openFileDialog1.FilterIndex   =   3   ; 
    openFileDialog1.RestoreDirectory   =   true   ; if(openFileDialog1.ShowDialog()   ==   DialogResult.OK) 

    fileToDisplay   =   openFileDialog1.FileName; //   Stretches   the   image   to   fit   the   pictureBox. 
    picImage.SizeMode   =   PictureBoxSizeMode.StretchImage   ; 
    MyImage   =   new   Bitmap(fileToDisplay); 
    picImage.Image   =   (Image)   MyImage   ; 
    } } private   void   btnSave_Click(object   sender,   System.EventArgs   e) 

    string   SQL= "SELECT   *   FROM   test1   ID   =   8 "; string   ConnectionString   =   "   Provider=Microsoft.Jet.OLEDB.4.0;Data   Source   =   E:\\myvc\\testdb.mdb "; 
    try   
    { OleDbConnection   conn=new   OleDbConnection(ConnectionString); 
    OleDbDataAdapter   da=new   OleDbDataAdapter(SQL,conn); 
    OleDbCommandBuilder   cmd=new   OleDbCommandBuilder(da); 
    DataSet   ds=new   DataSet(); conn.Open(); 
    da.Fill(ds, "test1 "); 
    DataTable   dt=ds.Tables[0]; 
    DataRow   dr; 
    if(dt.Rows.Count> 0) 
    dr=dt.Rows[0]; 
    else 
    dr=dt.NewRow(); dr[1]=txtName.Text; 
    MemoryStream   ms   =   new   MemoryStream   (); 
    picImage.Image.Save   (ms,   System.Drawing.Imaging.ImageFormat.Bmp); 
    byte   []   myData   =   new   Byte   [ms.Length   ]; ms.Position   =   0; 
    ms.Read   (myData,0,Convert.ToInt32   (ms.Length   )); dr[2]   =   myData; if(dt.Rows.Count <=0) 
    dt.Rows.Add(dr); 
    da.Update(ds,   "test1 "); conn.Close(); 
    MessageBox.Show( "Bmp   File   Save   Success! "); 

    catch(System.Exception   ee)   

    MessageBox.Show(ee.Message); 

    }下载的时候是二进制下载么。其实存路径比较好些。
      

  2.   


    web.config 中加入
    <configuration>
    <system.web>
    <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
    </system.web>
    </configuration>
      
    Web.config  memoryLimit:
    <configuration>
    <system.web>
    <processModel memoryLimit="80"/>
    </system.web>
    </configuration>
      

  3.   

    难道你不看标题,不是讲asp的