ASP上传图片功能的又一实现(OLE对象)

上次说到的上传图片是采用稻香老农开发的无组件上传。其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的。显示图片则是根据数据库表中的路径字段对应显示的。当然有关图片的管理,比如删除:只删除了路径,实际的图片需要根据该路径通过FSO进行删除……

那有没有这样一种情况:将图片直接作为一个字段的值保存。对图片的操作就象是对数据字段的操作一样熟练。答案是肯定的,只是将该字段的类型设为OLE对象

知识点:OLE 对象字段用来存储诸如 Microsoft Word 或 Microsoft EXCEL 文档、图片、声音的数据以及在别的程序中创建的其他类型的二进制数据。OLE 对象可以链接或嵌入到 Microsoft Access 表的字段中。

一、设计数据库testimg.mdb

为方便调试,设计表imgurl,其中两个字段:id(自动编号、关键字)、img(OLE 对象)

二、连接数据库文件conn.asp

<%

db_path="testimg.mdb"

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

connstr="driver={Microsoft Access Driver (*.mdb)};dbq="&server.MapPath(db_path)

conn.open connstr

%>

三、提供上传图片的表单页面upload.html

<form action="upload.asp" method="post" enctype="multipart/form-data">

  <input type="file" name="imgurl">

  <input type="submit" name=ok value="ok">

</form>

四、接受数据并添加记录页upload.asp

<!--#include file="conn.asp"-->

<%

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 rs=server.createobject("ADODB.recordset")

rs.open "SELECT * FROM imgurl",conn,3,3

rs.addnew

rs("img").AppendChunk myData

rs.update

rs.close

set rs=nothing

set conn=nothing

response.redirect "index.asp"

%>

五、提取数据库表中图片字段内容以做显示图片页showimg.asp

<!--#include file="conn.asp"-->

<%

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

sql="select * from imgurl where id="&trim(request("id"))

rs.open sql,conn,1,1

Response.ContentType="image/*"

Response.BinaryWrite rs("img").getChunk(8000000)

rs.close

set rs=nothing

set conn=nothing

%>

六、显示图片的index.asp

<!--#include file="conn.asp"-->

<%

strsql="select * from imgurl"

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

rs.open strsql,conn,1,1

do until rs.eof

whatid=rs("id")

%>

<img src="showimg.asp?id=<%=whatid%>">

<%

rs.movenext

loop%>

时间: 2024-11-13 06:43:32

ASP上传图片功能的又一实现(OLE对象)的相关文章

ASP上传图片功能的又一实现(OLE对象)_ASP基础

上次说到的上传图片是采用稻香老农开发的无组件上传.其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的.显示图片则是根据数据库表中的路径字段对应显示的.当然有关图片的管理,比如删除:只删除了路径,实际的图片需要根据该路径通过FSO进行删除-- 那有没有这样一种情况:将图片直接作为一个字段的值保存.对图片的操作就象是对数据字段的操作一样熟练.答案是肯定的,只是将该字段的类型设为OLE对象 知识点:OLE 对象字段用来存储诸如 Microsoft Word 或 Microsoft

ASP程序显示以OLE对象存储图片的方法

程序|对象|显示 在 ASP 中, 我们经常需要在 Web 页面上显示以二进制方式保存在数据库中的图片. 一般的图片显示没有什么问题, 因为这方面的文章已经很多了, 我就不再阐述. 但有时候数据库中的图片是通过其他办公软件输入的, 或者通过其他方式, 比如在 Access 中直接添加. 这时, 图片以 OLE 对象的方式保存在数据库中, 在图片真实内容的前面, 还保存了一些其他的信息, 比如图片的路径和文件名,等等. 如果我们还用一般的输出方式的话, 就会出错, 导致图片不能显示. 幸好 jpe

asp 上传图片后 方向与手机显示的不一样

问题描述 asp 上传图片后 方向与手机显示的不一样 在安卓上传图片是正常的 而在iPhone 上传就会出现方向错误的问题,有解决的办法吗? 解决方案 代码的设置问题,好好看一下实现那个功能的代码

asp上传图片提示 ADODB.Stream 错误 &#039;800a0bbc&#039;的解决方法

  asp上传图片提示 ADODB.Stream 错误 '800a0bbc' 有这个提示有很多问题导致.权限是常见一种.这个不多说,还有一个有点怪的就是 windows2008显示系统时间的格式竟然是:2013/3/8,而并非是以前的2013-3-8,由于重命名上传的文件是按时间来命名的,本要求为201338,但到windows2008平台上最后变成了2013/3/8,这样则会有一个问题,就是会被当成文件夹和路径处理,最终会导致了真正的不存在目录,最后会写入出错. 解决办法: 经过查看在上传保存

ASP用户注册功能的实现

  ASP用户注册功能的实现实例,代码完整,包括了html部分的代码.本代码主要实现的是对用户注册表单提交过来数据的处理,包括两次密码是否一致.帐号.密码是否为空.到连接数据库,添加帐号到数据库中,如果你刚接触ASP,你可能需要这个参考范例:   请新建一个SQLSERVER数据库,建立以下字段:username,userpassword,useremail,userhomepage,usernote,然后修改代码中的数据库连接信息为你的,保存上述代码为一个ASP文件,就可测试了.

php+ajax实现带进度条的上传图片功能【附demo源码下载】_php技巧

本文实例讲述了php+ajax实现带进度条的上传图片功能.分享给大家供大家参考,具体如下: 运行效果图如下: 代码如下: <?php if(isset($_FILES["FileInput"]) && $_FILES["FileInput"]["error"]== UPLOAD_ERR_OK) { ############ Edit settings ############## $UploadDirectory = 'F:

ueditor上传图片功能支持IE8吗?

问题描述 ueditor上传图片功能支持IE8吗? 我在使用ueditor上传图片 会报错,其他浏览器都ok.求大神解决给个思路. 解决方案 怎么解决的图片格式为的? 解决方案二: IE8好像不兼容,我这里试是有问题的

WEB前端实现裁剪上传图片功能_javascript技巧

最后的效果如下: 这里面有几个功能,第一个是支持拖拽,第二个压缩,第三个是裁剪编辑,第四个是上传和上传进度显示,下面依次介绍每个功能的实现: 1. 拖拽显示图片 拖拽读取的功能主要是要兼听html5的drag事件,这个没什么好说的,查查api就知道怎么做了,主要在于怎么读取用户拖过来的图片并把它转成base64以在本地显示. var handler = { init: function($container){ //需要把dragover的默认行为禁掉,不然会跳页 $container.on("

TinyMCE汉化及本地上传图片功能实例详解_jquery

TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/ 下载下来是英文版,要汉化也很简单. 首先去网上随便下载个汉化包,然后把汉化包解压后的langs文件夹里的zh_CN.js拷到你下载的TinyMCE的langs文件夹中就行.最后在 tinymce.init中加上"language: "zh_CN","(后面会贴出代码) 本地图片上传我用到了Jquery中的uploadify和UI,所以需要引用jquery.