如何把图片上传到数据库中并显示出来?
来源: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 | 用来保存图片数据 |


猜你喜欢
- 一、读取整个文件内容在读取文件之前,我们先创建一个文本文件resource.txt作为源文件。resource.txtmy name is
- 一般情况下x,y,z = 1,2,3print("x:",x)print("y:",y)print(
- mytop类似于linux top工具,可以实时监控mysql服务器的性能信息。 安装方法 1、安装依赖 # cpan # cpan >
- time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计算, 要找出前一天的时间
- 服务器:#server.py#!/usr/bin/env python#-*-coding:utf-8-*-import sysimport
- 本文实例讲述了Python中绑定与未绑定的类方法。分享给大家供大家参考,具体如下:像函数一样,Python中的类方法也是一种对象。由于既可以
- 本篇文章起源于在GCR MVP Open Day的时候和C# MVP张响讨论连接池的概念而来的。因此单独写一篇文章剖析一下连接池。 为什么需
- function test(){ return 123; } 显然这是一个函数声明,那下面的呢 var b=f
- 概述在开发中,可能会遇到当页面滚动停止之后执行某些操作的需求。在 scrollend 事件之前,并没有可靠的方法来检测页面滚动是否完成。这意
- 前言最近在研究怎么对图片资源进行无损压缩,网上也找了一些资料。总而言之,收获不少,所以想对最近的学习做个总结。无损压缩其实是相对而言的,目的
- 一、Base64编码原理步骤1:将所有字符转化为ASCII码;步骤2:将ASCII码转化为8位二进制;步骤3:将二进制3个归成一组(不足3个
- 前言删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名",这是初生牛犊的做法,因为当要删除的表达空间
- 将dataframe添加到texttable里面,实现格式化输出。data=[{"name":"Amay&qu
- 今天我们来学习用 Web 标准的方法来制作 Google 首页(中文)。Google 首页一直是用 table 布局的。我们把 Google
- 本文实例讲述了Python实现Tab自动补全和历史命令管理的方法。分享给大家供大家参考。具体分析如下:Python的startup文件,即环
- 基于 Mysql 实现一个搜索引擎前言:其实 Mysql 很早就支持全文索引了,只不过一直只支持英文的检索,从5.7.6 版本开始,Mysq
- 支持实时监控sliderbar的数据,允许有callback回调的函数,有示例1、可自定样式SetStyle() 2、带有onSroll功能
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 12 - Drag and Drop using
- 任务详情给定一各地 2016 年 1 月和 2 月各个时间点的温度表格,表格预览见页面下方。数据表的第二列表示当前时间,数据表第一行第三列到
- 如下所示:d = { 'a': '0.0000', 'b':