2006-5-20 作者:佚名 来源:互联网 点击:1914
upload.htm
<HTML>
<HEAD><TITLE>File upload</TITLE>
</HEAD>
<BODY>
<form name="upload">
<table width="100%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td colspan="2">上传提示:Microsoft ADO/RDS
此页正在访问其他域的数据。您允许这样做吗?</td>
</tr>
<tr>
<td width="100">您的图片</td>
<td><input name="pic" type="file" size="20"></td>
</tr>
<tr>
<td colspan="2" align="center"><input id="upbtn" type=button value="上传"></td>
</tr>
</table>
</form>
<img src="image.asp" border="0">
</BODY>
</HTML>
<SCRIPT LANGUAGE=JavaScript>
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
var st‚ up
try{
st = new ActiveXObject("ADODB.Stream");
up = true
}
catch(e){
up = false
}
function upload.upbtn.onclick(){
var uPic = upload.pic.value
if (validPic()!="") alert(validPic())
else{
if(!up) alert("您的浏览器版本太低,无法上传图片,请升级您的浏览器!")
else{
st.Type = 1;
st.Open();
try{
st.LoadFromFile(uPic);
var db = st.Read()
st.close()
var txtP = splitString(ByteToStr(db)‚100000)//这里把已经转换成字符串的文件切割一下,我是按10万字节长度切割的,也就是50KB
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.loadXML('<?xml version="1.0"?><root/>');
for (var i=0;i<txtP.length;i++){
var iPic = xmldoc.createElement("pic")
iPic.text = txtP[i];
xmldoc.documentElement.appendChild(iPic);
}
xmlhttp.open("POST"‚"upload.asp"‚true);
xmlhttp.onreadystatechange = rep
xmlhttp.send(xmldoc);
}
catch(e){alert("无法找到文件!\n"+e.description)}
}
}
}
function rep(){
if(xmlhttp.readyState==4){
if (xmlhttp.status==200){
alert(xmlhttp.responseBody)
location.reload()
}else
alert("status:"+xmlhttp.status+"\n"+xmlhttp.statusText)
}
}
function validPic(){
var maxSize = 500//最大的尺寸限制
var str = ''
var thisPic = new Image();
thisPic.src = upload.pic.value
if(thisPic.src=="") str = '请选择您要上传的图片'
else{
var picSize = thisPic.fileSize/1024
if(picSize>maxSize) str = '上传的图片不要大于'+maxSize+'KB,您的图片有'+picSize+'KB'
else{
var sPic = thisPic.src.split(".")
var pf = sPic[sPic.length-1].toLowerCase()
str = '未知的图片格式!'
var picF = new Array("gif"‚"jpg"‚"jpeg"‚"bmp")
for (var i=0;i<picF.length;i++){
if (pf==picF[i]){
str = ''
break
}
}
}
}
return str
}
//把二进制文件转换成字符串
function ByteToStr(p){
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
xmldom.async = false
xmldom.loadXML('<?xml version="1.0"?><root/>');
var tPic = xmldom.createElement("pic")
tPic.dataType = 'bin.hex'
tPic.nodeTypedValue = p
xmldom.documentElement.appendChild(tPic);
return(String(tPic.text))
}
//把字符串按你想要的长度切割
function splitString(s‚l){
var h = s.length
var al = (s.length%l==0)?h/l:parseInt(String((s.length/l)).split(".")[0])+1
var a = new Array(al)
for (var i=0;i<a.length;i++)
a[i] = s.substring(i*l‚l*(i+1))
return(a)
}
</SCRIPT>
<img src="image.asp?id=0" border="0">
upload.asp
<%@ LANGUAGE=VBScript%>
<%Option Explicit%>
<%
Response.ContentType="text/xml"
Response.Charset="UTF-8"
dim xmldom
dim root‚pic
set xmldom = Server.CreateObject("Microsoft.XMLDOM")
xmldom.async = false
xmldom.load Request
if xmldom.parseError.errorCode<>0 then
Response.BinaryWrite "未知的错误!"
else
if xmldom.readyState=4 then
xmldom.save Server.MapPath("image.xml")
Response.BinaryWrite "上传成功!"
'如果想直接放到数据库,就这么着:
'dim i‚a‚txtP‚byteP
'set a = xmldom.documentElement.selectNodes("/root/pic")
'txtP = ""
'for i=0 to a.length-1
'txtP = txtP & a(i).text
'next
'byteP = StrToByte(txtP)'这就是你要的东东
end if
end if
%>
<script language="javascript" runat="server">
function StrToByte(str){
var xmldom = Server.CreateObject("Microsoft.XMLDOM")
xmldom.loadXML('<?xml version="1.0"?><root/>')
var bPic = xmldom.createElement("pic")
bPic.dataType = "bin.hex"
bPic.nodeTypedValue = str
xmldom.documentElement.appendChild(bPic)
return(bPic.nodeTypedValue)
}
</script>
image.asp
<%@language=jscript%>
<%
var xmldoc = new ActiveXObject("Microsoft.XMLDOM")
xmldoc.async = false
xmldoc.load(Server.MapPath("image.xml"))
if (xmldoc.parseError.errorCode!=0){
Response.Write("error")
}else{
var a = xmldoc.documentElement.selectNodes("/root/pic")
var pic = ''
for (var i=0;i<a.length;i++)
pic += a[i].text//这里就是把数据重组
Response.BinaryWrite(StrToByte(pic))
}
//把字符串转换成二进制流
function StrToByte(str){
var XMLDOC = Server.CreateObject("Microsoft.XMLDOM")
XMLDOC.loadXML('<?xml version="1.0"?><root/>')
var bPic = XMLDOC.createElement("pic")
bPic.dataType = "bin.hex"
bPic.nodeTypedValue = str
XMLDOC.documentElement.appendChild(bPic)
return(bPic.nodeTypedValue)
}
%>
<HTML>
<HEAD><TITLE>File upload</TITLE>
</HEAD>
<BODY>
<form name="upload">
<table width="100%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td colspan="2">上传提示:Microsoft ADO/RDS
此页正在访问其他域的数据。您允许这样做吗?</td>
</tr>
<tr>
<td width="100">您的图片</td>
<td><input name="pic" type="file" size="20"></td>
</tr>
<tr>
<td colspan="2" align="center"><input id="upbtn" type=button value="上传"></td>
</tr>
</table>
</form>
<img src="image.asp" border="0">
</BODY>
</HTML>
<SCRIPT LANGUAGE=JavaScript>
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
var st‚ up
try{
st = new ActiveXObject("ADODB.Stream");
up = true
}
catch(e){
up = false
}
function upload.upbtn.onclick(){
var uPic = upload.pic.value
if (validPic()!="") alert(validPic())
else{
if(!up) alert("您的浏览器版本太低,无法上传图片,请升级您的浏览器!")
else{
st.Type = 1;
st.Open();
try{
st.LoadFromFile(uPic);
var db = st.Read()
st.close()
var txtP = splitString(ByteToStr(db)‚100000)//这里把已经转换成字符串的文件切割一下,我是按10万字节长度切割的,也就是50KB
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.loadXML('<?xml version="1.0"?><root/>');
for (var i=0;i<txtP.length;i++){
var iPic = xmldoc.createElement("pic")
iPic.text = txtP[i];
xmldoc.documentElement.appendChild(iPic);
}
xmlhttp.open("POST"‚"upload.asp"‚true);
xmlhttp.onreadystatechange = rep
xmlhttp.send(xmldoc);
}
catch(e){alert("无法找到文件!\n"+e.description)}
}
}
}
function rep(){
if(xmlhttp.readyState==4){
if (xmlhttp.status==200){
alert(xmlhttp.responseBody)
location.reload()
}else
alert("status:"+xmlhttp.status+"\n"+xmlhttp.statusText)
}
}
function validPic(){
var maxSize = 500//最大的尺寸限制
var str = ''
var thisPic = new Image();
thisPic.src = upload.pic.value
if(thisPic.src=="") str = '请选择您要上传的图片'
else{
var picSize = thisPic.fileSize/1024
if(picSize>maxSize) str = '上传的图片不要大于'+maxSize+'KB,您的图片有'+picSize+'KB'
else{
var sPic = thisPic.src.split(".")
var pf = sPic[sPic.length-1].toLowerCase()
str = '未知的图片格式!'
var picF = new Array("gif"‚"jpg"‚"jpeg"‚"bmp")
for (var i=0;i<picF.length;i++){
if (pf==picF[i]){
str = ''
break
}
}
}
}
return str
}
//把二进制文件转换成字符串
function ByteToStr(p){
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
xmldom.async = false
xmldom.loadXML('<?xml version="1.0"?><root/>');
var tPic = xmldom.createElement("pic")
tPic.dataType = 'bin.hex'
tPic.nodeTypedValue = p
xmldom.documentElement.appendChild(tPic);
return(String(tPic.text))
}
//把字符串按你想要的长度切割
function splitString(s‚l){
var h = s.length
var al = (s.length%l==0)?h/l:parseInt(String((s.length/l)).split(".")[0])+1
var a = new Array(al)
for (var i=0;i<a.length;i++)
a[i] = s.substring(i*l‚l*(i+1))
return(a)
}
</SCRIPT>
<img src="image.asp?id=0" border="0">
upload.asp
<%@ LANGUAGE=VBScript%>
<%Option Explicit%>
<%
Response.ContentType="text/xml"
Response.Charset="UTF-8"
dim xmldom
dim root‚pic
set xmldom = Server.CreateObject("Microsoft.XMLDOM")
xmldom.async = false
xmldom.load Request
if xmldom.parseError.errorCode<>0 then
Response.BinaryWrite "未知的错误!"
else
if xmldom.readyState=4 then
xmldom.save Server.MapPath("image.xml")
Response.BinaryWrite "上传成功!"
'如果想直接放到数据库,就这么着:
'dim i‚a‚txtP‚byteP
'set a = xmldom.documentElement.selectNodes("/root/pic")
'txtP = ""
'for i=0 to a.length-1
'txtP = txtP & a(i).text
'next
'byteP = StrToByte(txtP)'这就是你要的东东
end if
end if
%>
<script language="javascript" runat="server">
function StrToByte(str){
var xmldom = Server.CreateObject("Microsoft.XMLDOM")
xmldom.loadXML('<?xml version="1.0"?><root/>')
var bPic = xmldom.createElement("pic")
bPic.dataType = "bin.hex"
bPic.nodeTypedValue = str
xmldom.documentElement.appendChild(bPic)
return(bPic.nodeTypedValue)
}
</script>
image.asp
<%@language=jscript%>
<%
var xmldoc = new ActiveXObject("Microsoft.XMLDOM")
xmldoc.async = false
xmldoc.load(Server.MapPath("image.xml"))
if (xmldoc.parseError.errorCode!=0){
Response.Write("error")
}else{
var a = xmldoc.documentElement.selectNodes("/root/pic")
var pic = ''
for (var i=0;i<a.length;i++)
pic += a[i].text//这里就是把数据重组
Response.BinaryWrite(StrToByte(pic))
}
//把字符串转换成二进制流
function StrToByte(str){
var XMLDOC = Server.CreateObject("Microsoft.XMLDOM")
XMLDOC.loadXML('<?xml version="1.0"?><root/>')
var bPic = XMLDOC.createElement("pic")
bPic.dataType = "bin.hex"
bPic.nodeTypedValue = str
XMLDOC.documentElement.appendChild(bPic)
return(bPic.nodeTypedValue)
}
%>
google搜索:xmlhttp上传文件
声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。如有疑问请与站长联系。
相关链接更多...
- ASP生成具有分页的静态网页2006-5-20
- Server.ScriptTimeOut:处理脚本运行时间的方法2006-5-20
- ASP实现禁止外部提交数据2006-5-20
- asp禁止站外提交表单2006-5-20
- 经典的图片切换效果2006-5-20
- xmlhttp上传文件突破大小限制2006-5-20
- XMLHTTP详细介绍2006-5-20
- Google SiteMap生成工具 (ASP & PHP)2006-5-20
- 用正则表达式突出显示字符串中查询到的单词的函数2006-5-20
- 一份ASP释放内存的的实验报告[图]2006-5-20
网友评论
目前没有评论!
全站精华
- 地产广告1[图]
- 经典室内设计作品--宫殿风格1[图]
- 朱峰手绘插画欣赏--场景篇(Environments)(1)[图]
- 朱峰手绘插画-角色篇(Characters)(十三)[图]
- 朱峰手绘插画-角色篇(Characters)(一)[图]
- 景观设计城市公园:浙江黄岩永宁公园(3)[图]
- 人像摄影:《炫影》(3)[图]
- 人像摄影:《炫影》(2)[图]
- 人像摄影:《炫影》(1)[图]
- asp远程图片自动上传到服务器
- 韩国品牌YSB夏装 冷艳美人异国风情(3)[图]
- MIKE H的CG插画作品欣赏(3)[图]
- MIKE H的CG插画作品欣赏(2)[图]
- MIKE H的CG插画作品欣赏(1)[图]
- 塑造完美—最美丽的CG女孩 [图]
- 《星战》原版手绘作品欣赏--电影中看不到的经典[图]
- 经典海报设计欣赏1[图]
- 经典T恤设计欣赏3[图]
- 人体摄影欣赏(一个人的村庄)1[图]
- 欧洲品牌服装OLIVIER STRELLI[图]
- 2006泳装时尚,沙滩上的艳遇1[图]
- 香港著名设计师韩秉华[图]
- 韩秉华经典海报设计欣赏1[图]
- 2003戛纳广告节优秀平面作品展1[图]
- 手绘效果图精品1[图]
- 中国画-水浒人物画(戴敦邦)1[图]
- 韩国插画欣赏[图]
- 夏俊娜油画欣赏[图]
- 法国新古典主义油画欣赏2[图]
- 2006秋冬汉城Suh Sung Wan女装发布 [图]
图文精彩

【2006-5-10 18:31:05】
风景摄影欣赏molnies 1
风景摄影欣赏molnies 1
![人像摄影:《炫影》(1)[图]--摄影艺术](http://www.fansart.com/uploadfile/20065966294533.gif)
【2006-5-9 18:18:49】
人像摄影:《炫影》(1)
人像摄影:《炫影》(1)

【2006-5-8 11:37:48】
韩国品牌YSB夏装 冷艳美人异国风情(3)
韩国品牌YSB夏装 冷艳美人异国风情(3)

【2006-5-8 9:52:42】
MIKE H的CG插画作品欣赏(1)
MIKE H的CG插画作品欣赏(1)
![经典样本设计欣赏(国人作品)1[图]--平面广告](http://www.fansart.com/uploadfile/200642664631465.jpg)
【2006-4-26 17:57:18】
经典样本设计欣赏(国人作品)1
经典样本设计欣赏(国人作品)1

【2006-4-26 14:27:13】
新锐CG插画 Monday to Friday
新锐CG插画 Monday to Friday

【2006-4-26 13:34:46】
Natascha Roeoesli的人物CG插画作品欣赏(1)
Natascha Roeoesli的人物CG插画作品欣赏(1)
![水木清华地产广告欣赏[图]--平面广告](http://www.fansart.com/uploadfile/200642634295921.jpg)
【2006-4-26 9:31:54】
水木清华地产广告欣赏
水木清华地产广告欣赏
![2006夏日流行时尚,创意无限街头华丽[图]--时装魅影](http://www.fansart.com/uploadfile/200642261089093.jpg)
【2006-4-22 16:46:51】
2006夏日流行时尚,创意无限街头华丽
2006夏日流行时尚,创意无限街头华丽
![万科西山庭院.格.沉.尊[图]--平面广告](http://www.fansart.com/uploadfile/200642133015939.jpg)
【2006-4-21 9:08:35】
万科西山庭院.格.沉.尊
万科西山庭院.格.沉.尊
![泊林花园推广故事绘本(2)[图]--CG插画](http://www.fansart.com/uploadfile/200642042197577.jpg)
【2006-4-20 11:43:23】
泊林花园推广故事绘本(2)
泊林花园推广故事绘本(2)
![泊林花园推广故事绘本(1)[图]--CG插画](http://www.fansart.com/uploadfile/200642041664949.jpg)
【2006-4-20 11:34:33】
泊林花园推广故事绘本(1)
泊林花园推广故事绘本(1)
![房地产广告设计-之水墨风格1[图]--平面广告](http://www.fansart.com/uploadfile/200641457308753.jpg)
【2006-4-14 15:56:06】
房地产广告设计-之水墨风格1
房地产广告设计-之水墨风格1
![溯源居广告欣赏--小红人[图]--平面广告](http://www.fansart.com/uploadfile/200641453136345.jpg)
【2006-4-14 14:45:57】
溯源居广告欣赏--小红人
溯源居广告欣赏--小红人
![cg插画欣赏[图]--CG插画](http://www.fansart.com/uploadfile/200641433658593.jpg)
【2006-4-14 9:21:18】
cg插画欣赏
cg插画欣赏
![yashasi插画作品欣赏[图]--CG插画](http://www.fansart.com/uploadfile/200641366906025.jpg)
【2006-4-13 18:32:29】
yashasi插画作品欣赏
yashasi插画作品欣赏
![北邦插画欣赏(1)[图]--CG插画](http://www.fansart.com/uploadfile/200641335800545.jpg)
【2006-4-13 9:49:02】
北邦插画欣赏(1)
北邦插画欣赏(1)
![高傲的玫瑰-温碧霞[图]--摄影艺术](http://www.fansart.com/uploadfile/200641232299455.jpg)
【2006-4-12 8:58:34】
高傲的玫瑰-温碧霞
高傲的玫瑰-温碧霞
![国粹京剧脸谱表情[图]--界面设计](http://www.fansart.com/uploadfile/200641164370797.jpg)
【2006-4-11 17:51:33】
国粹京剧脸谱表情
国粹京剧脸谱表情
![回忆紫禁城里那些逝去的[图]--中国艺术](http://www.fansart.com/uploadfile/200641159463469.jpg)
【2006-4-11 16:34:31】
回忆紫禁城里那些逝去的
回忆紫禁城里那些逝去的