将word存入数据库并在网页中显示

通过一天的搜索终于将word存入并显示,希望以后有人遇到这种问题有个参考

添加一个上传文件的控件(input type=file id=MyFile runat=server)

System.Web.HttpPostedFile myFile=MyFile.PostedFile;
   if(myFile.ContentLength!=0)
   {   //读取文件信息
    string   tmpFileName=myFile.FileName;
    string   myFileName=tmpFileName.Substring(tmpFileName.LastIndexOf("."));
    string   myFileMimeType=myFile.ContentType;
   }
   // 读取到数组里面
      System.IO.Stream mystream=myFile.InputStream;
      byte[] Buffer=new byte[myFile.ContentLength];
      mystream.Read(Buffer,0,myFile.ContentLength);
   // 写入数据库
   string path=Request.PhysicalApplicationPath+"database//msword.mdb";
   OleDbConnection conn=new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source="+path);      
   OleDbDataAdapter adp=new OleDbDataAdapter("select * from ImportWord",conn);
   OleDbCommandBuilder ocb= new OleDbCommandBuilder(adp);
   DataTable dt=new DataTable();
   adp.Fill(dt);
   DataRow dr=dt.NewRow();
   //BinaryReader thisReader=new BinaryReader(mystream);
   dr["msword"]=Buffer;
   dt.Rows.Add(dr);
   adp.Update(dt);

在网页中显示

string path=Request.PhysicalApplicationPath+"database//msword.mdb";
   OleDbConnection conn=new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source="+path);      
   OleDbDataAdapter adp=new OleDbDataAdapter("select msword from ImportWord where uid=4",conn);
   DataTable dt=new DataTable();
   adp.Fill(dt);
   Byte[] buffer=(byte[])dt.Rows[0][0];
   Response.Clear();
   Response.ContentType="application/msword";   //一定要写,否则是乱码
   Response.BinaryWrite(buffer);
   Response.End();

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值