求ASP图片上传简单代码

cristo1 2005-07-29 09:04:28
如题。急。
...全文
2466 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsq888 2006-04-25
  • 打赏
  • 举报
回复
1

<html>
<body>
<center>
<form name="mainForm" enctype="multipart/form-data" action="process.asp" method=post>
<p><img src="showimg.asp?id=15">
</p>
<p>
<input type=file name=mefile>
   
<input type=submit name=ok value="上传">
</p>
</form>
</center>
</body>
</html>


2


<%@language="vbscript"%>
<%
response.buffer=true
'取得文件大小
formsize=request.totalbytes 'Request.TotalBytes方法返回从客户端读取到的数据的字节数
'设定上传文件大小,字节为单位.如果图片文件大于51160字节,将返回到图片上传页.并给出错误提示
if formsize>51160 then response.write("上传图片太大!")
formtype=request.ContentType
if formtype<>"jpg" or formtype<>"gif" then response.write("上传的文件格式不对!")
'获取上传的图片数据
formdata=request.binaryread(formsize) 'request.binaryread方法可以获取提交的文件数据
bncrlf=chrB(13)&chrB(10) 'vbCrLf是VB中用于表示“回车换行”的字符串常数(长度为2字节),相当于Chr(10)+Chr(13) 'bncrlf是加车换行的意思 chrb(13) & chrb(10)十六进制表示的回车换行 chr()返回与指定的 ANSI 字符代码相对应的字符。
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1) '按回车符和换行符的位置,从左取值 left()返回指定数目的从字符串的左边算起的字符。instr()返回某字符串在另一字符串中第一次出现的位置。
datastart=instrB(formdata,bncrlf&bncrlf)+4 '取得数据头 连续的回车符和换行符的位置:+4
dataend=instrB(datastart+1,formdata,divider)-datastart '取得数据尾
mydata=midB(formdata,datastart,dataend) '得到图片数据 mid()从字符串中返回指定数目的字符。

'建立同数据库联接
set conn=server.CreateObject("ADODB.connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("images.mdb")
conn.Open connstr
set rec=server.createobject("adodb.recordset")
sql="select * from images"
rec.open sql,conn,1,3

'判断是否曾经上传过相片,如果上传过就更改相片,否则就添加到数据库中
rec.addnew
rec("img").appendchunk mydata 'appendchunk用于向一域内添加大块的二进制或字符数据
rec.update
rec.close
set rec=nothing
set conn=nothing
response.redirect"upload.asp"
%>



3


<%
set conn=server.CreateObject("ADODB.connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("images.mdb")
conn.Open connstr
set rs=server.createobject("ADODB.recordset")
strsql="select img from images where id ="&trim(request("id"))
rs.open strsql,conn,1,1
Response.ContentType="image/*" '以便正常显示图片
Response.BinaryWrite rs("img").getChunk(7500000) 'getChunk返回大型文本或二进制数据Field对象的全部或部分内容。
rs.close
set rs=nothing
set conn=nothing
%>



silencepen 2006-04-24
  • 打赏
  • 举报
回复
为什么我运行时会出现错误
提示如下:
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: 'imageup'
/fenqiu/uptest/uptext.asp, 第 27 行

说明:第27行的代码如下:
response.binarywrite imageup(formsize,formdata) '这里是显示图像。表示成功!


急求高手帮忙解决!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
万分感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
yeyu712 2006-04-17
  • 打赏
  • 举报
回复
转来的,可以用
一:前言

首先,没有料到图片与文本的上传会引起这么大的注意。上一篇贴子(Id=435906)贴出后,有不少人来信说看不懂。或
是仍然不能实现。我就以一种完全简单的手法。完成无组件的文本与图片上传数据库所有过程。希望能帮助所有对此有疑
问的网友。

二:准备工作

按照惯例,我先将我的测试环境告诉大家。
系统:Win98se + pws + asp
编程环境:Visual Interdev 6.0
数据库:Access2000 (因为网友问的最多的都是Access2000的问题。)
建一个库:access2000中,先建好一个Test.mdb的数据库。具体有四个字段。
id | text1 | text2 | img
自动编号 文本 文本 OLE对象 ’如果是sql server 则选择(image即可)

三:Are you ready ,Go!!!

3-1.建上传表单:
我们知道,图像与文本是两种不同制式的文件(二进制,流式文本)而如果要同一表单提交的话,(file格式提交)则
我们获取时就不能用原来的方法request.form而必须用equest.TotalBytes来获得所有的提交资料。但这时两种格式的文件
混合在一起比较难分。我的上一贴已经告诉大家用二进制的方法来分开这些资料。但十分麻烦,要用到许多二进值的函
数,所以许多网友来信问我有没有更简单的方法,好。我可以告诉大家,有!而且保证下面的方法保证一学就会。(这种方
法很另类但伟人说过白猫,黑猫。能上网的就是好猫!)

upload.asp(具体代码如下)

<% @ language=vbscript %>
<html>
<head>
<meta name="VI60_defaultClientScript" content="VBScript">
<title> File Upload </title>
<script ID="clientEventHandlersVBS" LANGUAGE="vbscript">
<!--
Sub form2_onsubmit //** 这里是关键,当form2在提交的过程中时,即活form1的提交
form1.submit //**所以我们这里用了两个表单,但只用一个提交就可以了。
End Sub
-->
</script>
</head>
<body>

<form name="form1" ENCTYPE="multipart/form-data" ACTION="upimage.asp" METHOD="POST" target="_blank">
Please choose a picture to upload: <br>
<input NAME="picture" TYPE="FILE"> <br>
</form>

<form name="form2" action="uptext.asp" method="post">
<input type="text" name="text1"><br>
<input type="text" name="text2"><br>
<input type="submit" value="提交">
</form>

</body>
</html>

3-2 兵分两路来处理数据。
首先,文本很简单。

uptext.asp (代码如下)

<% @ language=vbscript %>
<%
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")

text1=request.form("text1")
text2=request.form("text2")
response.write text1
response.write text2

set rs=Server.CreateObject("adodb.recordset")
sql="SELECT top 1 * FROM imgtable ORDER BY id DESC" ’这里的意思是选择最后一个Id,既刚刚被改动
rs.Open sql,strconn,1,3 ’就是你上传的图像的两个文本字段。

rs("text1")=text1 ’注意,这里是改动不是添加,所以不用addnew。
rs("text2")=text2
rs.Update
rs.Close
%>
接着,来处理图像。
upimage.asp (具体代码如下)

<%
FormSize = Request.TotalBytes ’得到数据
FormData = Request.BinaryRead( FormSize )

function ImageUp(formsize,formdata) ’这个函数的功能是截取其中的图像部分。
bncrlf=chrb(13) & chrb(10) ’做成函数后。以后你可以自己随意使用了。
divider=leftb(formdata,instrb(formdata,bncrlf)-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
imageup=midb(formdata,datastart,dataend)
end function

Image=ImageUp (FormSize,Formdata) ’这里就是图像部分了。

set rs=server.CreateObject("adodb.recordset")
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
sql="SELECT * FROM imgtable"
rs.Open sql,strconn,1,3

rs.AddNew ’因为表单二在表单一提交的过程中下提交了。
rs("img").appendchunk Image ’所以这里是添加。
rs.Update
rs.Close


response.contenttype="image/gif"
response.binarywrite imageup(formsize,formdata) ’这里是显示图像。表示成功!

%>

啊?!?!原来如此简单!

四:“显示,我要同页显示”
终于完成了图文同步提交。(真的是同步吗?不是吗?是吗? 唉,我们只是为了解决问题。何必当真哪?不
是 吗?)
现在我们还要让他同页显示出来。其实,这是同样的思路。我们也用两页来完成。

主页面:show.asp

<%@ Language=VBScript %>
<%
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")

set rs=Server.CreateObject("adodb.recordset")
sql="SELECT top 1 * FROM imgtable ORDER BY id DESC"
rs.Open sql,strconn,1,3
%>
<html>
<body>
以下是你的上传资料。<br>
文本一:<% Response.Write rs("text1") %><br>
文本二:<% Response.Write rs("text2") %><br>

你的图像:
<img src=showimg.asp?id=<%=rs("id")%>> ’注意这里,这才是关键。他可以实现网页图像与文本
</body> ’共存。
</html>

幕后页面:showimg.asp (说他是幕后的页面,因为他潜伏在主页面里。看上是一个页面一样)

<%@ Language=VBScript %>
<%
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
id=Request("id")
set rs=server.CreateObject("adodb.recordset")
sql="SELECT * FROM imgtable where id="&id
rs.Open sql,strconn,1,3
response.contenttype="image/gif"
Response.BinaryWrite rs("img")
%>

(全文完:希望本文能帮助那些急于想解决本类问题的网友。)
jackycxg 2005-07-29
  • 打赏
  • 举报
回复
网上下栽个“无组件上传”之类的代码就行了
学校网站系统全站源代码学校网站模板下载,学校网站源码学校网页模板正式版,学校网站管理系统源码,学校模板正式版,学校网站管理系统全站源码正式版,后台管理从前台网站输入http://***.***.***/login.asp 进入后台管理管理员:admin 登陆密码:admin 信息时代,各个学校迫切的需要一个学校网站,作为自己学校的网上门户网站,无论是作为学校上级主管部门要学校上网的任务,更是由于形势所迫,没有自己的网站,就是少了一个跟别的学校的竞争力.作为一些私立的,民办的小学,中学,高中,培训学校,职业教育学校,更是需要一个专业,权威性的展示学校办学实力的学校网站,以宣传,推广自己学校,推广招生,实现办学投资收益.怎么办,请网络公司,软件公司定做一个学校网站吧,但是时间很长,成本大高,收费很高,做出来的版面很差,一点不合适学校,功能更是少,不成熟,漏洞百出,用着一点不安全,反而不利于学校网站的建设,达不到学校网站建立的真正目标.现在好了,有一套国内首创的学校网站系统正式版提供,学校网站系统全站源代码学校网站模板下载,它是国内最为知名的专著于学校网站建设的网软公司开发的产品,我们有着十年的学校网站建设经验,几万学校用户,为他们提供了几十万页的学校网站网页设计,更是有着几十套推陈出新,紧跟学校建站市场的开发的学校网站管理程序,设计的非常漂亮美观的学校网站模板,同时提供有ASP学校网站系统免费下载,二十多套PHP学校网站程序全功能下载,再也不用愁应该用什么学校网站程序,怎么去使用学校网站系统源码,怎么去突出自己学校网站的特色,有别于其它学校网站,突出自己学校的形象,增强软实力.学校网站管理系统源码,强大的免费学校网站后台管理系统,漂亮的学校网页模板,模版,完全为学校风格,功能设计的一套,学校网站建设的程序,网站系统.学校模板正式版,针对各类学校,教学,教研单位实现电子教学教育和电子学校,学校上网,学校信息化的需进行定向开发的学校网站模板,模版,学校网站系统全站源代码学校网站模板下载,适用于幼儿园网站,小学学校网站,初中学校网站,中学学校网站,高中学校网站,职业技术学院,职业技术学校,职业高中网站的学校网站模板现提供下载了,最为成熟通用的asp学校网站源码和自带的学校网页模板,也适合于建立学院网站,职业学校网站,培训学校网站,大学学校网站,大专学校网站,高职高专学校网站,电脑学校网站的学校网站建设中的智能网站程序,提供全部网站程序代码,其中的学校网站源代码也规范化,可理解,以更好的修改,扩展学校网站的功能和版面.职业学校,培训学校,技术学校,中职学校网站,技术学校网站管理系统正式版,教育局网站,政府教育部门网站,教育教学事业单位,私立学校网站,民办学校网站进行网站建设的网站系统.是一套功能完善的优秀的学校网站源代码。提供学校网站系统模板设计,源代码下载,正式版本,功能完全开放。 学校网站系统全站源代码学校网站模板下载,信息时代,各级教学教育,公立私立民办学校部门,需要一个动态网站,实现学校介绍,学校概况,德育之窗,学科教研,教师园地,学生地盘,家长专栏,招生考试,交流互动,学校网上报名功能,学生成绩查询,专题报道,图片新闻,学校互动论坛,学校办公OA系统,学校信息,教务公开,学校动态,学校规章制度,政策法规,和家长学生互动,学校信息,校园风光网上介绍,名师风采,办学成就介绍,校园刊物网上电子版,学校的教学科研信息,教研组,课题课件等都可在学校网站系统里面实现,学校的德育教育,如行为考评,政策法规,德育服务,家长学校,心理辅导,在学校网站管理系统也有相关的栏目,学生园地展示学生作品,学校留言本,聊天室,学校论坛,可给教师,学生,家长一个沟通的平台等学校教学教育科研,教研事业单位性质的网站,做适合新时代的电子教学,网络学校,网络教学,信息化学校网站管理系统. 完美的ASP编程的学校网站源码,后台功能非常强大,并参考目前众多流行的国内国外学校网站模板重新做了美化,非常漂亮的学校网站模板,适用于各学校网站建设的网站源码,学校网站管理系统,学校事业单位网站管理系统,Asp+ACCESS的完美结合,高效的页面执行效率,特别优化系统安全性能,学校网站系统全站源代码学校网站模板下载,可令你在学校茫茫网海中一支独秀。学校网站管理系统正式版助中国各级学校行政单位走上信息化道路,学校单位网站管理系统正式版助中国学校走上网络,为公众服务,学校网站管理系统正式版为中国学校实现网上 办公,提高效率,了解民众呼声提供全站程序. 系统自身具有强大、完备的网站后台管理功能,功能全面,操作简易。系统前台的栏目、菜单、功能入口等全部实现后台控制,用户只需在后台进行简单的设置即可制作出适合于自身学校的网站系统。 我们将推出更多的学校机构网站,学校网站管理系统,做中国最好,易用,安全的学校上网,学校信息化网站系统, 学校网站管理系统源码正式版 一款非常适合学校建站的好程序,为学校单位量身订制,您不要懂网站开发语言,只要设置网站信息就可以做出自己的学校网站。 学校网站系统全站源代码学校网站模板下载前台功能介绍: 功能介绍: ①系统配置:1、 网站属性 2、功能设置 3、模板编辑 4、系统初始 5、专业设置 6、报名管理(详细请看演示) ②文章管理:1、 栏目管理(可任意设置栏目名称、类别、选择栏目模版、设置管理员等等相关属性) 2、添加文章(可添加附件、上传图片、视频、音频、动画、选择相应模版等等,详细请看演示) 3、管理我的文章。 ③互动交流管理:1、留言管理 2、评论管理 3、 校长信箱 4、投诉举报 ④附加管理:1、文章审核 2、文章检索 3、 专题管理 4、投票管理 5、公告管理6、友情链接 7、广告管理 8、附件管理9、备份压缩10、服务器探测。 ⑤用户管理:1、修改资料 2、部门管理 3、 普通用户 4、添加用户 5、超管管理 6、添加超管。(用户分类:注册用户[普通][高级][特级]、小类管理员、大类管理员、总栏管理员、文章审核员、系统管理员,超级管理员,分别拥有不同的权限。) ⑥个人资料:1、修改资料 ⑦系统信息:1、网软志成 2、关于系统 3、 新手上路 4、重新登录 5、退出管理。 ⑧我的博客:(将用户发表的文章归于博客) 学校网站系统全站源代码学校网站模板下载升级内容 1: 全新版面和后台风格 。 2:为整合各种论坛提供良好接口。(可按用户需要选择是否整合论坛) 3:专题页功能加强。 4:大类文章分页显示。 5:加入新闻日历搜索引擎。 6:会员排行可按用户名,注册时间,发文数升降序排列。 7:全新留言板头像,留言可选定是否写给管理员看,并且加入留言审核功能。 8:新闻页快速评论功能,加入新闻阅读签收功能,新闻图片鼠标滚轮缩放功能,新闻标题后评论显示。 9:全新的单位部门设定。 10:增加图片新闻页面。 11:目录结构,文件命名,书写规则规范化。 12:统一了字符过滤代码。 13:栏目菜单分类功能加强。 14:整加页面过度效果设置。 15:附带全新忠网广告管理系统。 16:全新安全补丁。 17:前台用户和后台管理员实现分离,管理员需要再次登陆才能进入管理。 18:后台增加数据库备份压缩,数据恢复,系统空间占用功能,加入阿江ASP探针,附件管理,留言和评论实现独立管理,用户管理增加查找功能。增加其它一些实用小工具。 19:后台网站属性设置增加自定义Bottom菜单,是否开启注册用户签收功能。 20:初始化时可选择部份初始化,统计数据可以初始化。 21:全新的个人用户 博客 功能 22:全面支持RSS聚合新闻 XML 功能 23:全面修改总栏、大类、小类叶面,总栏、大类可分别设置不同模版 24:附件上传按后缀,时间分别建立目录 25:全面支持无大类、无小类文章,各级页面均支持模板 26:最新添加单位稿件统计(旧版本升级请后台运行Tools_UpdateDB-11-6.asp升级数据库) 27:其他错误修正 29:首页田字格小图片数量选择 29:后台1~3级菜单选择 30:系统设置不启用分级时打开新闻页空白补丁 31:新闻全部显示最新补丁 32:后台管理修正小BUG 33:忠网弹出广告修正 34:后台2处管理权限修正 35:上传漏洞补丁包, 远程非法提交,权限提升,SQL注入漏洞,完全补丁,以及其他小功能增强 36:远程非法提交,权限提升,SQL注入漏洞修正补修正,以及新闻上下篇功能及top透明广告条支持 37:添加无大小类文章BUG修正,其他小问题。top.asp自动换行(可选) 38:留言簿恶意广告攻击漏洞修正(IP过滤,留言验证码),后台文章检索,有情连接申请漏洞 . 39:增加了导航菜单的外部链接功能。 40: 整合了OA办公登录口,在首页可以直接登录。 41:整合邮局登录入口。 42:增加了视频点播功能,可以在后台设置是否显示视频点播。 43: 增加了后台专业设置,可增加,修改,删除招生专业。 44: 增加了前台的网上报名表单,后台可查看,处理学生报名信息。 45: 学校网站全站DIV+CSS控制,修改网站整体风格很方便。 46:增加了留言,举报,建议的审核才在前台显示功能。

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧