`
evget
  • 浏览: 144788 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

Access数据库上传且显示图片的讲解

阅读更多
本文从多个角度来讲解如何在Access数据库上如何上传并且显示上所上传图片。

在动态网站制做过程中,需要上传图片、显示图片,上传的图片要能够保存在数据库中,一般小型网站只支持Access数据库,如何上传图片,将其保存在数据库中并将其显示出来,是数据库+ASP应用技术之一。许多书籍只介绍了SQL数据库的方法,而对Access却很少提及。网上有不少关于Access数据库上传图片、显示图片的文章,多数文章介绍的不够全面,有些程序根本就不能开通,对于初学者来说很难把握,我通过参考一些文章,向初学者提供一套比较完整的程序,较全面地介绍了利用上传向Access数据库添加图片、显示图片,希望我们这些初学的同志少走一些弯路。

第一步、要制做一个Access数据库,我们给它起名字叫images.mdb,该数据库里有两个字段:id、img,id字段的类型设为自动编号,img字段的类型设为OLE对象。

第二步、设计一个上传的表单,根据要求可简可繁。

第三步、设计后台的图片处理程序,可分为图片上传保存程序和图片读取程序。

第四步、图片显示。

下面给出程序并分别做介绍。

一、 表单程序updata.html

它的功能是为上传提供一个界面,表单的enctype属性为multipart/form-data,它是设置表单的MIME编码的,只有使用了它才能完整地传送文件的数据。

以下为引用的内容:
<html>

<body>

<center>

<form name="mainForm" enctype="multipart/form-data"

action="process.asp" method="post">

<input type=file name=mefile>

<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.Open "Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" & server.MapPath("images.mdb")

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.closes

set rec=nothing

set connGraph=nothing %>

这段程序的功能是将上传图片的数据保存到数据库里。下面分句说明各语句的作用。

以下为引用的内容:
response.buffer=true

formsize=request.totalbytes

formdata=request.binaryread(formsize)


打开缓存功能,获取客户端总的发送数据量,获取上传过来的数据。

以下为引用的内容:
bncrlf=chrB(13) & chrB(10)

divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)

这两个语句的意思是设一个二进制回车符及得到一个divider分隔符,目的是为了确定图片的位置。

以下为引用的内容:
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.Open "Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" & server.MapPath("images.mdb")

创建connection对象,并连接Microsoft Access数据库。

以下为引用的内容:
set rec=server.createobject("ADODB.recordset")

rec.Open "SELECT * FROM images where id is null",connGraph,1,3

rec.addnew

rec("img").appendchunk mydata

创建recordset对象,打开数据库并置为写入状态,执行rec.addnew增加一条新记录,调用FIELD对象的appendchunk方法将图片数据保存到数据库表的字段中。

后边几句关闭数据库,释放定义组件的设置。


三、 图片的读取程序showing.asp

以下为引用的内容:
<%

set connGraph=server.CreateObject("ADODB.connection")

connGraph.Open "Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" & server.MapPath("images.mdb")

set rec=server.createobject("ADODB.recordset")

id=trim(request.querystring("id"))

strsql="select img from images where id="&Request.QueryString("id")&""

rec.open strsql,connGraph,1,1

Response.ContentType = "image/gif"

Response.BinaryWrite rec("img").getChunk(7500000)

rec.close

set rec=nothing

set connGraph=nothing

%>


以上程序是显示图片的后台程序,主要功能是按照要求的ID号读取数据库中图片的数据。

Response.BinaryWrite rec("img").getChunk(7500000)

这里调用了FIELD对象的getChunk(SIZE)方法,SIZE是字节数。

需要注意的是使用Response对象的 ContentType属性时MIME类型的设置,我们这里将返回数据的类型设为图形方式即image/gif方式,它可以显示GIF或JPG格式的图形,如果设置为image/*,程序在执行时将不能显示图片。

四、 图片的显示程序show.html

图片上传保存到数据库里就可以调用程序显示图片了,我们再做一个表单程序,提供要显示图片的ID号。

以下为引用的内容:
<html>

<body>

<center>

<form name="mainForm" enctype="text/plain"

action="showing.asp" method="get">

请输入要显示图片的序号:<input type=id name=id>

以下为引用的内容:
<input type=submit name=ok value="提交">

</form>

</center>

</body>

</html>

以上程序及数据库制做好以后上传到服务器上就可以使用了,也可以在本地服务器上使用,但本机要安装ⅡS插件。

未完,原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9129
分享到:
评论

相关推荐

    如何向Access数据库上传且显示图片

    访问数据库上传和显示图片 Access 数据库是一种常用的数据库管理系统,广泛应用于小型网站和个人项目中。...通过设计上传表单、图片上传保存程序和图片显示程序,可以实现在Access数据库中上传和显示图片的功能。

    access数据库中添加与读取图片

    在Access数据库中添加和读取图片是常见的操作,特别是在存储包含多媒体内容的数据时。Access作为一个关系型数据库管理系统,虽然主要用于处理结构化的文本和数字数据,但也可以有效地管理和展示非结构化数据,如图像...

    vb6.0向access数据库中添加照片并显示在vb中picturebox中的代码

    本文将详细讲解如何使用Visual Basic 6.0向Access数据库中添加照片,并将其显示在VB中的PictureBox控件中。 首先,我们需要理解VB6.0与Access数据库连接的基本原理。在VB中,我们可以使用ADODB(ActiveX Data ...

    asp:excel导入access数据库实例代码

    在ASP(Active Server Pages)开发中,有时我们需要将Excel数据导入到Access数据库中,以便进行进一步的数据处理和分析。这个实例代码就是解决此类问题的一个示例。以下将详细讲解如何实现这一功能,以及涉及到的关键...

    ACCESS保存图片程序示例(VBA)

    本示例将深入讲解如何利用VBA来保存和显示图片。我们将会探讨以下几个关键知识点: 1. **OLE对象**: 在ACCESS中,存储非文本数据,如图片,通常通过OLE(Object Linking and Embedding)对象实现。OLE允许你嵌入...

    winfroms JPG图片上传数据库显示

    在Windows Forms(WinForms)应用开发中,常常需要处理用户上传的JPG图片,并将其存储到数据库中,以便后续检索和显示。以下是一系列相关的知识点和步骤,详细讲解如何实现这个功能。 一、图片上传 1. 图片控件:在...

    加密你的Access数据库asp打开方法

    我们将从基本概念开始,逐步讲解加密Access数据库的步骤,并提供相应的代码示例。 什么是Access数据库加密? Access数据库加密是指对Access数据库的保护,使其免受未经授权的访问。通过加密数据库,我们可以防止...

    实现将excel中的数据批量导入到access

    本篇文章将基于提供的代码示例,详细讲解如何实现将Excel中的数据批量导入到Access数据库的过程。 #### 核心知识点解析 1. **ASP编程基础**: - ASP(Active Server Pages)是一种服务器端脚本环境,在HTML页面中...

    C#access文件复制

    本篇将详细讲解如何使用C#来读取Access数据库以及如何上传图片。 首先,我们需要在C#中建立与Access数据库的连接。这可以通过ADO.NET库中的`System.Data.OleDb`命名空间实现。创建一个`OleDbConnection`对象,提供...

    asp excel导入access

    综上所述,通过ASP实现Excel数据导入Access数据库,涉及到的技术主要包括ASP脚本编程、文件上传、ADO对象操作、数据库连接和SQL语句使用。熟练掌握这些知识点,能帮助我们在实际项目中高效地进行数据迁移和管理。

    excel导入access asp

    在本场景中,"excel导入access asp"涉及到的是如何使用ASP技术将Excel数据导入到Access数据库中。这是一个常见的数据迁移或数据整合的需求,尤其在处理大量结构化数据时。以下是对这个主题的详细讲解: 1. Excel...

    Visual+C#+2005开发技术+数据库(1)

    这部分内容可能讲解了如何利用Java编程语言与SQL Server交互,实现图片或其他二进制数据的存储。可能涉及到Java的JDBC接口、Blob对象的使用以及数据的上传和下载流程。 6. **分区表**: 分区表是SQL Server中的一...

    个人网站建立

    在个人网站中,Access数据库可以存储用户信息、文章、评论等数据,且与ASP结合使用时,可以通过ASP脚本实现数据的读取、插入、更新和删除操作。Access数据库的优点在于其易用性和与Microsoft环境的良好集成,但当...

    jsp项目开发实例教程数据库脚本

    这个"数据库脚本"的遗漏可能是开发者在上传教程资源时疏忽造成的,它可能是项目初始化数据库的关键部分。对于初学者来说,理解如何编写和应用这些脚本是至关重要的,因为它们直接影响到项目的正常运行和数据管理。...

    C#Excel大量数据快速导入数据库

    本文将详细讲解如何利用C#实现Excel数据的高效导入。 首先,我们需要了解如何在C#中读取Excel文件。.NET Framework提供了Microsoft.Office.Interop.Excel库,这是一个COM互操作接口,允许我们直接操作Excel对象模型...

    VB数据库应用实例教程PPT课件.pptx

    - 用户可以上传图片(如学号.jpg),系统会自动读取并显示在窗口中,删除记录时相应图片也会被删除。 - 使用组合框(ComboBox)为用户提供预设选项,如选择“政治面貌”、“民族”和“生源地”等信息,简化录入...

    Visual Basic 2005 数据库通用模块开发与系统移植<光盘>(2)

    2. **数据库连接**:VB 2005通过ADO.NET(ActiveX Data Objects .NET)与各种数据库进行交互,包括SQL Server、Access等。ADO.NET由Connection对象、Command对象、DataReader和DataAdapter等组件构成,用于建立连接...

    微信小程序仿朋友圈上传图片到服务器,后端通过C#实现

    同时,为了保证数据的完整性和一致性,可能需要将图片信息(如URL、上传时间、用户ID等)存储在数据库中。 6. **错误处理与调试**:在前后端交互过程中,可能会遇到网络问题、服务器错误等,因此需要设置合理的错误...

    ASP源码ASP+ACCESS网上音乐网站(源代码+论文+开题报告+答辩PPT+说明)

    基于ASP(Active Server Pages)和ACCESS数据库开发的网上音乐网站,不仅可以提供丰富的音乐资源,还能为用户提供个性化的音乐推荐和服务。该项目旨在构建一个功能完善的在线音乐平台,通过分析用户需求和市场现状,...

    React+ajax+java 上传图片并预览

    本教程将重点讲解如何在React前端框架中实现图片的上传,并通过Ajax与Java后端进行交互,最终完成图片的预览。以下是对这个主题的详细阐述: 1. **React组件化开发**: React是一种流行的JavaScript库,用于构建...

Global site tag (gtag.js) - Google Analytics