[这个贴子最后由默读忧伤在 2005/07/05 05:11pm 第 1 次编辑]
代码如下:- <%
- ';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';
- ';此组件仅使用于上传JPG图片
- ';Power BY [ LoveTea ]
- ';loveteamsn@hotmail.com
- ';请勿删除本信息
- ';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';
- ';显式声明变量。不声明,就出错。
- option explicit
- on error resume next
- if request.totalbytes<1 then
- %>
- <form method="post" action="index.asp" enctype="multipart/form-data">
- <label>
- <input type="file" name="file1" />
- </label>
- <br />
- <input type="text" name="filename" value="default filename"/>
- <br />
- <input type="submit" value="Submit"/>
- <input type="reset" value="Reset"/>
- </form>
- <%
- Else
- const write_file=true
- response.buffer=true
- ';分析数据。格式固定,自己研究。
- dim formsize,formdata,bncrlf,divider,datastart,datalength,mydata
- formdata=request.binaryread(request.totalbytes) ';取得数据流
- bncrlf=chrB(13)&chrB(10) ';这个是回车键
- divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1) ';取得分界线
- datastart=instrb(formdata,divider)
- mydata=midb(formdata,datastart) ';取得截取范围
- if write_file then
- ';下面开始写文件。注意stream用法。
- dim objstream,objstream2
- set objstream=server.createobject("adodb.stream")
- set objstream2=server.createobject("adodb.stream")
- objstream.type=1
- objstream.open
- objstream2.type=1
- objstream2.open
- ';截取数据。
- objstream.write formdata
- objstream.position=datastart-1
- objstream.copyto objstream2
- ';保存文件
- randomize
- objstream2.savetofile "f:\www\" & Rnd() & ".jpg",2
- objstream.close
- objstream2.close
- set objstream=nothing
- set objstream2=nothing
- end if
- %>
- <center><a href=http://127.0.0.1/index.asp>Test Again</a></center>
- <% End if %>
复制代码 |