.bmp 格式图片上传存放到 MSSQL 数据库里面 asp 程序

我想把一张 .bmp 格式图片上传存放到 mssql 里面(要转换成二进制)

请问如何实现 程序是 asp 的

高手能给出代码吗? 或是告知哪个程序里面有这个功能 小弟自己去研究 小弟感激不尽

看看以下这段代码,或许对您有些帮助.

1.设计数据库以access为例,建立一为images的数据库(表名也为images)id 自动编号img ole对象2. 上传处理文件 (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="Provider=microsoft.jet.oledb.4.0;data source="& server.mappath("images.mdb")
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'appendchunk语法;将数据追加到大型文本、二进制数据 field 或 parameter 对象
rec.update
rec.close
set rec=nothing
set conngraph=nothing
%>3.上传页面(upload.htm)<html>
<body>
<center>
<form name="mainform" enctype="multipart/form-data" action="process.asp" method=post>
<input type=file name=upfile><br>
<input type=submit name=ok value="ok">
</form>
</center>
</body>
</html>以下为显示部分4. 显示图片处理文件(showimg)
<%
'fromwhere=lcase(request.ServerVariables("SERVER_NAME"))
'if Instr(fromwhere,"arhwen.com")=0 then'判断是否从本站访问,如果不是就停止下面的执行.这样就可以防止盗链了.
'response.end
'end if set conngraph=server.createobject("adodb.connection")
conngraph.connectionstring="provider=microsoft.jet.oledb.4.0;data source="& server.mappath("images.mdb")
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.binarywrite rec("img").getchunk(7500000)
rec.close
set rec=nothing
set conngraph=nothing
%>5.显示页面(id是动态的)......<td><img src="showimg.asp?id=i"> </td>......我们先来熟悉一下将要使用的对象方法。我们用来获取上一个页面传

递过来的数据一般是使用request对象。同样的,我们也可以使用request对象

来获取上传上来的文件数据,使用的方法是request.binaryread()。而我们要从

数据库中读出来图片的数据显示到网页上面要用到的方法是:

request.binarywrite()。在我们得到了图片的数据,要保存到数据库中的时候,

不可以直接使用insert语句对数据库进行操作,而是要使用ado的

appendchunk方法,同样的,读出数据库中的图片数据,要使用getchunk方

法。各个方法的具体语法如下:

* request.binaryread语法:

variant = request.binaryread(count)

参数

variant

返回值保存着从客户端读取到数据。

count

指明要从客户端读取的数据量大小,这个值小于或者等于使用方法

request.totalbytes得到的数据量。

* request.binarywrite语法:

request.binarywrite data

参数

data

要写入到客户端浏览器中的数据包。

* request.totalbytes语法:

variant = request.totalbytes

参数

variant

返回从客户端读取到数据量的字节数。

* appendchunk语法

将数据追加到大型文本、二进制数据 field 或 parameter 对象。

object.appendchunk data

参数

object field 或 parameter 对象

data 变体型,包含追加到对象中的数据。

说明

使用 field 或 parameter 对象的 appendchunk 方法可将长二进制或字符数

据填写到对象中。在系统内存有限的情况下,可以使用 appendchunk 方法对长

整型值进行部分而非全部的操作。

* getchunk语法

返回大型文本或二进制数据 field 对象的全部或部分内容 。

variable = field.getchunk( size )

返回值

返回变体型。

参数

size 长整型表达式,等于所要检索的字节或字符数。

说明

使用 field 对象的 getchunk 方法检索其部分或全部长二进制或字符数据。

在系统内存有限的情况下,可使用 getchunk 方法处理部分而非全部的长整型

值。

getchunk 调用返回的数据将赋给“变量”。如果 size 大于剩余的数据,则

getchunk 仅返回剩余的数据而无需用空白填充“变量”。如果字段为空,则

getchunk 方法返回 null。

每个后续的 getchunk 调用将检索从前一次 getchunk 调用停止处开始的数

据。但是,如果从一个字段检索数据然后在当前记录中设置或读取另一个字段

的值,ado 将认为已从第一个字段中检索出数据。如果在第一个字段上再次调

用 getchunk 方法,ado 将把调用解释为新的 getchunk 操作并从记录的起始

处开始读取。如果其他 recordset 对象不是首个 recordset 对象的副本,则

访问其中的字段不会破坏 getchunk 操作。

如果 field 对象的 attributes 属性中的 adfldlong 位设置为 true,则可

以对该字段使用 getchunk 方法。

如果在 field 对象上使用 getchunk 方法时没有当前记录,将产生错误 3021

(无当前记录)。
温馨提示:内容为网友见解,仅供参考
无其他回答

.bmp 格式图片上传存放到 MSSQL 数据库里面 asp 程序
1.设计数据库以access为例,建立一为images的数据库(表名也为images)id 自动编号img ole对象2. 上传处理文件 (process.asp)< response.buffer=true formsize=request.totalbytes formdata=request.binaryread(formsize)'获取上传上来的文件数据 bncrlf=chrb(13) & chrb(10)divider=leftb(formdata,clng(in...

如何向数据库中添加图片,并显示出来。asp.net实现。这个必须要源码啊...
首先用一个FileUpload控件来浏览选择图片 <asp:FileUpload ID="fulBook" runat="server" \/> 创个按钮,然后.cs中按钮的代码 \/\/\/ \/\/\/ 更新图书,更新命令激发后,将更换的图片上传 \/\/\/ protected void dvBookList_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e){ FileUpload fulBook ...

数据库连接出错,请检查Inc\/Const.asp配置文件
Server.ScriptTimeOut=999999999——脚本过期时间 IF Len(Sdcms_CreateDate)=0 Then Return("..\/Install\/") ——如果Sdcms_CreateDate的值长度为0,转到程序的安装配置目录 Is_sql=Sdcms_DataType——根据设置判断数据需要的数据库连接类型 IF Is_sql Then ——如果是ACCESS数据库 Connstr="Provider=...

bmd是什么数据库?
TINYINT数据类型存储从0 到255 之间的所有正整数。每个TINYINT类型的数据占用1 个字节的存储空间。 | K4M17s 4、BIGINT v0G\\j0 5 BIGINT 数据类型存储从-2^63 (-9 ,223, 372, 036, 854, 775, 807) 到2^63-1( 9, 223, 372, 036 ,854 ,775, 807) 之间的所有正负整数。每个BIGINT 类型...

求一招好用的电脑技术
这个设置可以允许你在设备管理器中禁用通过windows Update升级设备的驱动程序。 要进行这个设置,可以按以下步骤进行操作:在任务栏上点击开始按钮,然后在开始菜单中点击运行,输入regedit并点击确定,打开注册表编辑器。 展开HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindows NTDriver Signing 创建一个名为“NoDevMgrUpdate”的...

网页制作(ASP):链接小页提交到不同页面
所有程序一般都存放在特定目录,例如:CGI程序放在cgi-bin目录,所有提供下载的内容也最好放在一个目录下,便于维护管理。 ●在每个主目录下都建立独立的Images目录。一般来说,一个站点根目录下都有一个默认地Images目录。将所有图片都存放在这个目录里很是不方便,比如在栏目删除时,图片的管理相当麻烦。所以为每个主栏目...

数据库与数据仓库的区别
数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品...

怎么制作自己的网页?
大概流程就是这样,如下图所示:3.进阶学习:有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:易维护,可测试,高性能,低流量(移动端)。中高级前端 1.工具学习习:大型项目中,前端代码构建已经不是简单...

ASP从数据库的表中随机抽取几条信息显示到页面怎么做
strSQL = "SELECT id,title FROM news"'Sql语句,检索数据库 Set objRS = Server.CreateObject("ADODB.Recordset")'创建记录集 objRS.Open strSQL, objConn, 1, 1 '执行检索 Count=objRS.RecordCount '得到记录总数 Item=5 '显示记录数 '---检索数据--- '--- redim a(Item, 2),t(Coun...

相似回答
大家正在搜