ASP文件上传核心代码
2007-07-23 14:53
232 查看
<!--
= * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = *
* 作 者: 我本有心
= QQ: 381584252
* E-Mail: hztgcl1986@163.com
= 转载请注明出处及作者!
* 版权所有,侵权必究!!!
=
* http://www.8848so.com,人物搜索,8848So = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = *
-->
<%
'此代码适合有一定ADODB.Stream基础的人阅读
'这里只有服务器端代码,想必客户端不是问题所在
Dim formsize,formdata,bincrlf,oencrlfplace,twocrlfplace,ext,filepath,p,l
Dim usingstream,stream
formsize=Request.TotalBytes
formdata=Request.BinaryRead(formsize)
Set usingstream=Server.CreateObject("ADODB.Stream")
usingstream.Type=1
usingstream.Open()
usingstream.Write(formdata)
bincrlf=ChrB(13)&ChrB(10) '二进制回车换行
oencrlfplace=InStrB(formdata,bincrlf) '44,第一次回车换行位置
twocrlfplace=InStrB(oencrlfplace+1,formdata,bincrlf) '第二次回车换行位置
Set stream=Server.Createobject("ADODB.Stream")
stream.Type=1
stream.Open()
usingstream.Position=oencrlfplace+1
usingstream.CopyTo stream,twocrlfplace-oencrlfplace-3 '得到第二行数据,twocrlfplace-onecrlfplace-(回车换行长度+"长度)
stream.Position=0
stream.Type=2 '字符串
stream.CharSet="GB2312"
streamtext=stream.Readtext() '读取第二行数据
stream.Close()
ext=Mid(streamtext,InstrRev(streamtext,"")+1) '得到文件名
filepath=Server.MapPath("upload/"&ext)
p=InStrB(formdata,bincrlf&bincrlf)+4 '4为两次回车换行长度
l=InStrB(p+1,formdata,LeftB(formdata,oencrlfplace-1))-p-2 '文件内容部分长度,onecrlfplace-1为第一行数据(也是分隔符),2为回车换行长度
stream.Type=1
stream.Open()
usingstream.Position=p-1
usingstream.CopyTo stream,l '文件内容数据
stream.SaveToFile filepath,2 '保存文件
usingstream.Close():Set usingstream=Nothing
stream.Close():Set stream=Nothing
%>
= * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = *
* 作 者: 我本有心
= QQ: 381584252
* E-Mail: hztgcl1986@163.com
= 转载请注明出处及作者!
* 版权所有,侵权必究!!!
=
* http://www.8848so.com,人物搜索,8848So = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = *
-->
<%
'此代码适合有一定ADODB.Stream基础的人阅读
'这里只有服务器端代码,想必客户端不是问题所在
Dim formsize,formdata,bincrlf,oencrlfplace,twocrlfplace,ext,filepath,p,l
Dim usingstream,stream
formsize=Request.TotalBytes
formdata=Request.BinaryRead(formsize)
Set usingstream=Server.CreateObject("ADODB.Stream")
usingstream.Type=1
usingstream.Open()
usingstream.Write(formdata)
bincrlf=ChrB(13)&ChrB(10) '二进制回车换行
oencrlfplace=InStrB(formdata,bincrlf) '44,第一次回车换行位置
twocrlfplace=InStrB(oencrlfplace+1,formdata,bincrlf) '第二次回车换行位置
Set stream=Server.Createobject("ADODB.Stream")
stream.Type=1
stream.Open()
usingstream.Position=oencrlfplace+1
usingstream.CopyTo stream,twocrlfplace-oencrlfplace-3 '得到第二行数据,twocrlfplace-onecrlfplace-(回车换行长度+"长度)
stream.Position=0
stream.Type=2 '字符串
stream.CharSet="GB2312"
streamtext=stream.Readtext() '读取第二行数据
stream.Close()
ext=Mid(streamtext,InstrRev(streamtext,"")+1) '得到文件名
filepath=Server.MapPath("upload/"&ext)
p=InStrB(formdata,bincrlf&bincrlf)+4 '4为两次回车换行长度
l=InStrB(p+1,formdata,LeftB(formdata,oencrlfplace-1))-p-2 '文件内容部分长度,onecrlfplace-1为第一行数据(也是分隔符),2为回车换行长度
stream.Type=1
stream.Open()
usingstream.Position=p-1
usingstream.CopyTo stream,l '文件内容数据
stream.SaveToFile filepath,2 '保存文件
usingstream.Close():Set usingstream=Nothing
stream.Close():Set stream=Nothing
%>
相关文章推荐
- asp.net 多文件上传,兼容IE6/7/8,提供完整代码下载
- asp 判断上传文件中是否存在危险代码
- Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)
- ASP实现无组件文件上传的代码
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- asp.net实现ftp上传代码(解决大文件上传问题)
- ASP.NET-文件上传代码
- 用Html5与Asp.net MVC上传多个文件的实现代码
- asp.net实现上传文件显示本地绝对路径的实例代码
- Asp.net 文件上传示例代码
- asp.net 文件上传代码
- asp.net+js 实现无刷新上传解析csv文件的代码
- [Fine Uploader] 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]
- EXTJS+ASP.NET上传文件带实时进度条代码
- asp.net实现ftp上传代码(解决大文件上传问题)
- Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)
- asp.net 下载任意格式文件 上传文件后台代码
- 截获asp.net上传文件过大IIS报错的Httpmodule代码 --方便以后使用
- Ext 上传文件,前后台实现, Asp.net 代码
- asp.net上传图片文件自动修改图片大小代码