问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ASP里面如何上传图片?

发布网友 发布时间:2022-05-29 06:54

我来回答

3个回答

热心网友 时间:2023-10-10 01:09

1.如果服务器装了文件上传组件,可查阅一下该组件的相关属性和方法,不过现在很多服务器空间都不支持这类组件.暂不在这里讨论.

2.若服务器不支持文件上传组件,可以考虑自己写个无组件上传程序,网上有一个"化境无组件上传"比较经典,也比较好用.地址:http://www.5xsoft.com/Down.aspx?id=2.
你可以下载一个参考,里面的说明很详细.
不过可能有的服务器也不会支持,因为该组件可能会被视为木马之类而被清除.

3.利用服务器的FSO组件可实现文本文件之类的在线读写,但要实现上传图片估计不能,我还没见过.

4.以上办法都不行时,我们可以考虑将图片上传到数据库.下面以Access为例,看一个简单的代码:

首先建一个数据库,假设为(img.mdb).在其中建一表(pic),表中有两个字段(id,img),id数据类型为"自动编号",img的类型为"OLE对象".
下面用三个文件用来实现图片功能,conn.asp是定义数据库连接函数的,up.asp用来上传图片,show.asp用来从数据库读取图片.

-------------conn.asp--------------
<%
dim conn,rs

function getdata(sql)
dbpath="img.mdb"
set conn=server.CreateObject("ADODB.connection")
connstr="provider=Microsoft.jet.oledb.4.0;data source="&server.MapPath(dbpath)
conn.open connstr
set rs=server.CreateObject("ADODB.recordset")
rs.open sql,conn,3,2
end function

sub rsclose()
rs.close()
set rs=nothing
conn.close()
set conn=nothing
end sub
%>

---------------up.asp---------------
<html>
<body>
<form action="up.asp" method="post" enctype="multipart/form-data" >
<input type="file" size="12" name="imgurl" id="imgurl">
<input type="submit" value="upload">
</form>
</body>
</html>
<%
if (request.totalbytes)>0 then '如果有数据提交,则进行下面的处理
%>
<!--#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)
sql="select * from pic"
getdata(sql)
rs.addnew
rs("img").AppendChunk myData
rs.update
rsclose()
response.clear
response.write "success!"
end if
%>

-------------show.asp--------------
<!--#include file="conn.asp"-->
<%
id=trim(request("id"))
sql="select * from pic where id="&id
getdata(sql)
Response.ContentType="image/*"
Response.BinaryWrite rs("img").getChunk(8000000)
rsclose()
%>

图片上传后就可以通过show.asp?id=*来读取了,你也可以直接将图片用<img>标签插入其他页面中,如<img src="show.asp?id=1" />

不好意思,未做注释,有不懂的先到网上搜一下,不行再联系我吧

热心网友 时间:2023-10-10 01:10

uploadtest.asp
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF">
<form method="post" name="form1" enctype="multipart/form-data" action="showdata.asp">
<p>text1:
<input type="text" name="text1">
</p>
<p>text2:
<input type="text" name="text2">
</p>
<p>txtarea:
<textarea name="textfield" cols="20" rows="10"></textarea>
</p>
<p>file:
<input type="file" name="newfile">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Reset" value="Reset">
</p>
</form>
</body>
</html>

文件:showdata.asp
<!--#INCLUDE FILE="upload.inc"-->
<%
'Fields("xxx").Name 取得Form中xxx(Form Object)的名字
'Fields("xxx").FilePath 如果是file Object 取得文件的完整路径
'Fields("xxx").FileName 如果是file Object 取得文件名
'Fields("xxx").ContentType 如果是file Object 取得文件的类型
'Fields("xxx").Length 取得Form中xxx(Form Object)的数据长度
'Fields("xxx").Value 取得Form中xxx(Form Object)的数据内容
Dim FormData,FormSize
FormSize=Request.TotalBytes
FormData=Request.BinaryRead(FormSize)
Set Fields = GetUpload(FormData)
response.write "text1:" & Fields("text1").Value & "<br>" & VbCrLf
response.write "text2:" & Fields("text2").Value & "<br>" & VbCrLf
response.write "textarea:" & Fields("textfield").Value & "<br>" & VbCrLf
response.write Fields("newfile").FileName
response.write Fields("newfile").ContentType
Response.ContentType = Fields("newfile").ContentType
If Fields("newfile").FileName<>"" Then
Response.ContentType = Fields("newfile").ContentType
response.binarywrite Fields("newfile").Value
End If

'Response.BinaryWrite FormData
%>

热心网友 时间:2023-10-10 01:10

代码比较多,网上有这一套插件,你可以搜一下,很多
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宜昌夷陵区丶西陵区哪个区最繁华 宜昌哪些地方租房子好 宜昌CBD中心商务区项目分段定位 宜昌哪个地段房子好 奥迪a6油箱盖按键在什么位置 奥迪a6汽车加油盖按钮在哪 奥迪a6油箱盖怎么开 奥迪a6油箱盖的开关在哪里 图文结合带你搞懂MySQL日志之Error Log(错误日志) 变电站电磁辐射安全标准 ...马自达车辆搭载创驰蓝天GVC系统技术的好处是什么? GVC是什么鬼?你们知道么? 苹果se有32几的吗? asp 上传多张图片写入到一个字段中用&quot;,&quot;隔开 ASP上传多张图片的问题(急) 微软小冰好不好? 微软小冰首次加盟综艺节目:揭秘其背后技术推动力? 税务师考几科几年过 打开2天的健力宝能喝吗? 健力宝泡咖啡能喝吗 健力宝兑白酒能喝吗? 喝健力宝能帮助长高吗? 文玩小核桃每年都落得一个不剩什么原因? 健力宝能不能与咖啡一起喝 健力宝能否起死回生? 核桃落果什么原因 啤酒喝健力宝能一起喝吗 我家的核桃树每年都会开花也会结果,可是到后来长到花生米大小的时候就会落地,请问这是怎么回事? 在安徽省临泉县种的核桃树为什么长不成核桃就掉了 请问主板中小板和创业板 招股说明书有什么区别呢? 什么原因导致山核桃落果? 汉鼎咨询独家披露“创业板拟上市企业的灵魂在哪里&quot;内容? 求ASP多张图片上传的详细代码 进去微信附近的人之后提示,微信不能确定你的位置,你可以通过以下操作提高微信的精确度在位置中打开Gp 手机定位正常,微信的权限也打开了,为什么打开附近的人的时候会弹出(提高微信定位精准度) usb接口取电? 微信开发中地理位置的精度怎么用 微信附近人打不开.提醒提高定位精准度。打开了还是搜不了 联想A300微信4.0版查找附近的人提示提高微信定位精确度,要怎么设置? 有招聘电工的吗?土建电工,室内装修电工都行 请问哪家装修公司招聘电工 不小心把手机里的照片,音乐等等,好多文件给删了怎么才能找回 性欲很差,阴道干干的,阴道口疼,这是怎么回事 装完LINUX输入口令再输密码键盘不管事 您搞定了么,我也遇到这个问题 粉画笔(色粉棒/粉画棒/)如何晕染均匀? 粉彩棒怎么使用,怎么使用效果更好?(不是油画棒!!) 粉彩笔怎么用?是干什么的? linux如何实现多用户同时操作 键盘显示器不够用啊 我用油画笔画色粉画笔毛太硬怎么办?我开始的时候笔毛并不硬,现在竟然把纸能画的起毛!。 海尔统帅D40MF7090定制 安卓系统电视。第三方软件怎么安装,比如泰捷TV BIOS设置快速启动后无法进入BIOS 海尔le43a3100怎么进入工程模式?或者告知怎么把禁止安装第三方软件取消也行