返回列表 发帖

【原创】jpg图片无组件上传『ASP』

[这个贴子最后由默读忧伤在 2005/07/05 05:11pm 第 1 次编辑] 代码如下:
  1. <%
  2. ';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';
  3. ';此组件仅使用于上传JPG图片
  4. ';Power BY [ LoveTea ]
  5. ';loveteamsn@hotmail.com
  6. ';请勿删除本信息
  7. ';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';';
  8. ';显式声明变量。不声明,就出错。
  9. option explicit
  10. on error resume next
  11. if request.totalbytes<1 then
  12. %>
  13. <form method="post" action="index.asp" enctype="multipart/form-data">
  14. <label>
  15. <input type="file" name="file1" />
  16. </label>
  17. <br />
  18. <input type="text" name="filename" value="default filename"/>
  19. <br />
  20. <input type="submit" value="Submit"/>
  21. <input type="reset" value="Reset"/>
  22. </form>
  23. <%
  24. Else
  25. const write_file=true
  26. response.buffer=true
  27. ';分析数据。格式固定,自己研究。
  28. dim formsize,formdata,bncrlf,divider,datastart,datalength,mydata
  29. formdata=request.binaryread(request.totalbytes) ';取得数据流
  30. bncrlf=chrB(13)&chrB(10) ';这个是回车键
  31. divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1) ';取得分界线
  32. datastart=instrb(formdata,divider)
  33. mydata=midb(formdata,datastart) ';取得截取范围
  34. if write_file then
  35. ';下面开始写文件。注意stream用法。
  36. dim objstream,objstream2
  37. set objstream=server.createobject("adodb.stream")
  38. set objstream2=server.createobject("adodb.stream")
  39. objstream.type=1
  40. objstream.open
  41. objstream2.type=1
  42. objstream2.open
  43. ';截取数据。
  44. objstream.write formdata
  45. objstream.position=datastart-1
  46. objstream.copyto objstream2
  47. ';保存文件
  48. randomize
  49. objstream2.savetofile "f:\www\" & Rnd() & ".jpg",2
  50. objstream.close
  51. objstream2.close
  52. set objstream=nothing
  53. set objstream2=nothing
  54. end if
  55. %>
  56. <center><a href=http://127.0.0.1/index.asp>Test Again</a></center>
  57. <% End if %>
复制代码

返回列表 回复 发帖