CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

我想要把一个大的二进制的文件存放到一个有很多字段的表中,请问应该怎么实现更好阿

楼主yangyouyi(yangyouyi)2004-09-04 14:59:57 在 Web 开发 / ASP 提问

问题如上。能否给出实用的代码。一定重分感谢, 问题点数:100、回复次数:9Top

1 楼pfc001(pfc001)回复于 2004-09-04 15:15:23 得分 0

upTop

2 楼pfc001(pfc001)回复于 2004-09-04 15:17:42 得分 20

Response.Buffer   =true    
    a=Request.BinaryRead   (Request.TotalBytes   (test.GetCContent(0)))      
    set   objstream=server.CreateObject   ("ADODB.STREAM")  
    objStream.Type   =   1  
    objStream.Mode   =   adModeReadWrite  
    objStream.Open  
    objStream.Write     a  
    objStream.SaveToFile   "c:\cer.cer",2  
      objStream.Close  
    这样写说错误   a=Request.BinaryRead   (Request.TotalBytes   (test.GetCContent(0)))Top

3 楼pfc001(pfc001)回复于 2004-09-04 15:19:31 得分 20

1.  
  给表格<table>添加“   style="word-break:break-all"”  
   
  <table     style="word-break:break-all">  
  2.  
  <%  
        response.contenttype=rscontent("ContentType")  
        Response.BinaryWrite   rscontent("nr")  
  %>  
  这些放入iframe里面,用另外一个页面单独二进制显示  
  Top

4 楼fenlin(孤帆)回复于 2004-09-04 15:23:38 得分 20

用OLE来存储啊,下面是一个例子  
  access数据库结构如下:  
  字段名称     类型  描述  
  id      自动编号   主键值  
  img               OLE对象   用来保存图片数据  
  -------------------------------------------  
  供给用户的上传界面,可以让用户选择要上传的图片。代码如下    
  upload.htm  
   
  <html><body>  
  <form   name="mainForm"   enctype="multipart/form-data"   action="process.asp"   method=post>  
  <input   type=file   name=mefile><br>  
  <input   type=submit   name=ok   value="OK">  
  </form></body></html>  
   
  --------------------------------------------------------------  
  process.asp  
   
  <%  
  response.buffer=true  
  formsize=request.totalbytes  
  formdata=request.binaryread(formsize)  
  bncrlf=chrB(13)   &   chrB(10)  
  divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)  
  datastart=instrb(formdata,bncrlf   &   bncrlf)+4  
  dataend=instrb(datastart+1,formdata,divider)-datastart  
  mydata=midb(formdata,datastart,dataend)  
  set   connGraph=server.CreateObject("ADODB.connection")  
  connGraph.ConnectionString="driver={Microsoft   Access   Driver   (*.mdb)};DBQ="   &   server.MapPath("images.mdb")   &   ";uid=;PWD=;"  
  connGraph.Open  
  set   rec=server.createobject("ADODB.recordset")  
  rec.Open   "SELECT   *   FROM   [images]   where   id   is   null",connGraph,1,3  
  rec.addnew  
  rec("img").appendchunk   mydata  
  rec.update  
  rec.close  
  set   rec=nothing  
  set   connGraph=nothing  
  %>Top

5 楼aspczlover(你的骄傲...)回复于 2004-09-04 16:32:13 得分 20

下面两个文件实现存储  
   
  upload.asp  
   
  <html>  
   
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <meta   name="GENERATOR"   content="Microsoft   FrontPage   5.0">  
  <meta   name="ProgId"   content="FrontPage.Editor.Document">  
  </head>  
     
       
  <body>  
       <form   name="mainForm"   enctype="multipart/form-data"    
   
  action="process.asp"   method=post>    
   
      <input   type=file   name=mefile   size="20"><br>    
   
       <input   type=submit   name=ok   value="OK">    
   
       </form>    
  </body>  
   
  </html>  
   
   
  process.asp  
   
      <!--#include   file="../conn.inc"-->  
   
  <%    
  '字段类型最好是image的  
   
  response.buffer=true    
  dim   formsize,formdata,bncrlf,divider,datastart,dataend,mydata  
  formsize=request.totalbytes    
  formdata=request.binaryread(formsize)    
  bncrlf=chrB(13)   &   chrB(10)  
  divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)  
  datastart=instrb(formdata,bncrlf   &   bncrlf)+4  
  dataend=instrb(datastart+1,formdata,divider)-datastart  
  mydata=midb(formdata,datastart,dataend)  
   
  set   rec=server.createobject("ADODB.recordset")    
   
  rec.Open   "SELECT   *   FROM   [table]",conn,3,2    
   
  rec.addnew    
   
  rec("img").appendchunk   mydata           'img字段的类型是image  
   
  rec.update    
   
  rec.close    
   
  set   rec=nothing    
   
  set   connGraph=nothing  
  %>Top

6 楼aspczlover(你的骄傲...)回复于 2004-09-04 16:43:09 得分 20

如果想从数据库取出文件    
   
  display.asp  
   
  <!--#include   file="conn.asp"-->    
  <%    
  id=request("id")  
  set   rs=server.createobject("ADODB.recordset")    
  sql="select   *   from   table   where   id="   &   id  
  rs.open   sql,conn,1,1  
  Response.clear  
  Response.ContentType   =   "text/html"      
  Response.BinaryWrite   rs("img")      
  rs.close    
  set   rs=nothing    
  set   conn=nothing    
   
  %>Top

7 楼yangyouyi(yangyouyi)回复于 2004-09-05 12:52:39 得分 0

fenlin(大灰狼爱小白兔)    
   
  用OLE来存储啊,下面是一个例子  
  access数据库结构如下:  
  字段名称     类型  描述  
  id      自动编号   主键值  
  img               OLE对象   用来保存图片数据  
  -------------------------------------------  
  供给用户的上传界面,可以让用户选择要上传的图片。代码如下    
  upload.htm  
   
  <html><body>  
  <form   name="mainForm"   enctype="multipart/form-data"   action="process.asp"   method=post>  
  <input   type=file   name=mefile><br>  
  <input   type=submit   name=ok   value="OK">  
  </form></body></html>  
   
  --------------------------------------------------------------  
  process.asp  
   
  <%  
  response.buffer=true  
  formsize=request.totalbytes  
  formdata=request.binaryread(formsize)  
  bncrlf=chrB(13)   &   chrB(10)  
  divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)  
  datastart=instrb(formdata,bncrlf   &   bncrlf)+4  
  dataend=instrb(datastart+1,formdata,divider)-datastart  
  mydata=midb(formdata,datastart,dataend)  
  set   connGraph=server.CreateObject("ADODB.connection")  
  connGraph.ConnectionString="driver={Microsoft   Access   Driver   (*.mdb)};DBQ="   &   server.MapPath("images.mdb")   &   ";uid=;PWD=;"  
  connGraph.Open  
  set   rec=server.createobject("ADODB.recordset")  
  rec.Open   "SELECT   *   FROM   [images]   where   id   is   null",connGraph,1,3  
  rec.addnew  
  rec("img").appendchunk   mydata  
  rec.update  
  rec.close  
  set   rec=nothing  
  set   connGraph=nothing  
  %>  
  ********************************  
   
  如果是两个输入项,而且第一个输入项的内容是图片,这样做没有任何问题。如果是有5个以上的输入项目,而且图片是在第1到最后任意一个那么怎么办啊?上面的代码是否可以用啊?  
  如果有多个图片又怎么办啊?Top

8 楼yangyouyi(yangyouyi)回复于 2004-09-05 13:03:07 得分 0

另外,如果在一个表中有10项以上的字段,三个以上的img字段,那么应该怎么把所有的内容都放到表中呢  
  这个办法:  
  rec.Open   "SELECT   *   FROM   [table]",conn,3,2    
   
  rec.addnew    
   
  rec("img").appendchunk   mydata           'img字段的类型是image  
   
  rec.update    
   
  只是将一个图片字段放到表里,如果有其他的字段怎么处理阿?Top

9 楼aspczlover(你的骄傲...)回复于 2004-09-05 13:20:24 得分 0

那要用控件了Top

相关问题

  • 在sql server上的table里建表,选择什么字段类型来存放文件,文件如何转成二进制格式。
  • 关于二进制字段
  • 客户端如何播放存放在数据库二进制字段中的多媒体文件?
  • 我怎样定义记录类的字段,而可以存放图片等二进制文件?
  • 如何操作二进制字段????
  • 多个表,每个表都只有一个二进制字段,怎样取得它们的公共数据?
  • 图片,大文本,二进制数据往数据库保存。难道只能用表的 BLOB字段么?
  • quickreP做报表时对二进制字段怎么处理用控件能绑定吗?
  • 如何将从sysproteries表中但得的字段的“描述”的二进制值转换成文本显示
  • Access 中,要存放一个二进制串,比如一个结构,用什么类型的字段?用备注行不行?

关键词

得分解答快速导航

  • 帖主:yangyouyi
  • pfc001
  • pfc001
  • fenlin
  • aspczlover
  • aspczlover

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo