网络编程
位置:首页>> 网络编程>> Asp编程>> 如何把图片上传到数据库中并显示出来?

如何把图片上传到数据库中并显示出来?

 来源:asp之家 发布时间:2009-11-06 13:50:00 

标签:数据库,图片,上传

好了,看看我们的代码吧:

upload.htm

' 上传页面
<html> 
<body> 
<p align="center">精彩春风之图片上传</p>
<center> 
   <form name="mainForm" enctype="multipart/form-data"
' 这个Form属性是得到上传的数据的关键
action="process.asp" method=post> 
    <input type=file name=mefile><br> 
   <input type=submit name=ok value="上传"> 
   </form> 
</center> 
</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 
%> 

showimg.asp

' 显示图片
<% 
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") 
strsql="select img from images where id=" & trim(request("id")) 
rec.open strsql,connGraph,1,1 
Response.ContentType = "image/*" 
' 在输出到浏览器之前一定要指定Response.ContentType = "image/*",以便正常显示图片
Response.BinaryWrite rec("img").getChunk(7500000) 
rec.close 
set rec=nothing 
set connGraph=nothing 
%> 

数据库结构如下:

Access:

序号

字段名称

类  型

描  述

1

id

自动编号

主键值

2

img

OLE对象

用来保存图片数据

MS SQL Server:

序号

字段名称

类  型

描  述

1

id

int(Identity)

主键值

2

img

image

用来保存图片数据

0
投稿

猜你喜欢

  • 写在前面:本节主要讲述一些基本的,常用的SQL语句,而非数据库方面的基本知识。数据库方面的知识留待以后再讲,现在就我们平常常用的一些SQL语
  • 写过一篇"正则表达式30分钟入门教程",有读者问:[^abc]表示不包含a、b、c中任意字符, 我想实现不包含字符串ab
  • 如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。请回想一下在硬盘上是如何查找文件的。您肯
  • 最近网上再度兴起了CSS布局和Table 布局的争论。我最初颇有些不以为然:我原以为CSS 布局的意义早已深入人心,却没想到还有这么多设计师
  • 把昨天做的高级查询界面完善了一下,支持动态添加多个查询条件、定义逻辑关系,支持整形、浮点、字符串、日期、布尔值、自定义选择列表的录入,通过E
  • 阅读作者的上一篇相关文章:段正淳的css笔记(3)标题右侧“更多”的实现 段正淳的css笔记(4)1、css代码的简写css缩写的语法,对新
  • 下面演示了,当asp程序发生错误时,屏蔽系统默认的错误显示,而显示自定义的错误信息。<%@ LANGUAGE="V
  • 想必大家都知道MSSQL中SA权限是什么,可以说是至高无上。今天我就它的危害再谈点儿,我所讲的是配合NBSI上传功能得到WebShell。在
  • 我们在前面的几节中分别讲了提高网站性能中内容、服务器、JavaScript和CSS等方面的内容。除此之外,图片和Coockie也是我们网站中
  • 随着网络的发展,网速和机器速度的提高,越来越多的网站用到了丰富客户端技术。而现在Ajax则是最为流行的一种方式。JavaScript是一种解
  • 以前的服务器,由于内存的价格过高,一般配置的内存不是很多,超过4GB的当然就不多了.现在的服务器,配置超过4GB就很多,在配作SQL 数据库
  • “选项卡”经常会被混同为“滑动门”,滑动门只是一种背景自适应内容的实现方法,不只可以应用在导航菜单,一样也可以应用在其他地方。例如选项卡中就
  • 实现一个AuditLog的功能,是B/S结构专案。 每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪。是谁添加
  • 在Windows系统中用“Ctrl+C”和“Ctrl+V”就可以完成复制、粘贴工作,是不是很爽?其实使用a标签的accesskey属性也可以
  • 当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这
  • 导读:由于banner一般用于专题类网站,在门户网站的二级页面,用户进来之前,在首页已经对主题有一定的了解和认识,所以banner的作用是在
  • 使用ASP处理XSLT转换XML比较简单,思路如下:创建一个XSLTemplate的对象,再创建一个XMLDOM对象,然后在家Xml文件和X
  •     对于网页制作者来说,最烦琐的事情可能就是给页面中的图片或文字加链接了。假如页面内容很多的话,那么所做的
  • 目前,我们要在网页中使用圆角效果,总是通过切图然后嵌套很多div,用背景来实现圆角效果。对于前端开发工程师来说,圆角的确是一个让人又爱又恨的
  • 原文:Creating a Star Rater using CSS链接:http://komodomedia.com/blog/index
手机版 网络编程 asp之家 www.aspxhome.com