当前位置: 移动技术网 > IT编程>开发语言>Asp > 自动采集程序

自动采集程序

2017年12月12日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:

<% 
  on error resume next 
  const uploadpath = "/uploads/" '文件存放路径 
  const allowfileext = "jpg,wma,swf,gif" '允许被采集的文件类型 
  'const allowfilesize = "200" 
  function getfile(url) 
    if url = "" then 
      exit function 
    else 
      url = trim(url) 
    end if 
    '获取文件 
    fileext = lcase(mid(url,instrrev(url, ".")+1)) '文件类型 
    filename = lcase(mid(url,instrrev(url, "/")+1,instrrev(url, ".")-instrrev(url, "/")-1)) '无文件类型的文件名 
    newfilepath = getnow("date") & "_" & replace(formatdatetime(now(),3),":","") & "_" & cleanfilename(filename) & "." & fileext 
    if instr(","&lcase(allowfileext)&",",","&fileext&",") = 0 then 
      getfile = "文件类型不允许" 
      exit function 
    end if 
    set xmlhttp = server.createobject("microsoft.xmlhttp") 
    xmlhttp.open "get",url,false 
    xmlhttp.send 
    'while xmlhttp.readystate <> 4 
    ' xmlhttp.waitforresponse 1000 
    'wend 
    if xmlhttp.status <> 200 then 
      getfile="获取文件出错" 
      exit function 
    else 
      set folder=server.createobject("scripting.filesystemobject") 
      dim foldername 
      foldername = getnow("year")&getnow("month") '文件夹 
      if folder.folderexists(server.mappath(uploadpath))=false then 
        folder.createfolder server.mappath(uploadpath) 
      end if 
      if folder.folderexists(server.mappath(uploadpath & foldername))=false then 
        folder.createfolder server.mappath(uploadpath & foldername) 
      end if 
      set folder=nothing 
      file=xmlhttp.responsebody 
      if lenb(file) > allowfilesize then 
        getfile = "文件太大,不能保存!" 
        exit function 
      else 
        set objadostream=server.createobject("adodb.str"&"eam") 
        objadostream.open() 
        objadostream.type=1 
        objadostream.write(file) 
        objadostream.savetofile(server.mappath(uploadpath & foldername &"/" & newfilepath)) 
        objadostream.seteos 
        set objadostream=nothing 
        getfile= "<a href="""&uploadpath & foldername &"/" & newfilepath&""" target=""_balnk"">采集成功</a>" 
      end if 
    end if 
    set xmlhttp=nothing 
  end function 
%> 
<script runat="server" language="jscript"> 
function cleanfilename(str){ 
 str = str.replace(/[^_\.a-za-z\d]/ig,""); 
 str = str.replace(/^[\/\.]+/,""); 
 return str; 

function getnow(n) 

  d = new date(); 
  switch (n) 
  { 
    case "year": 
      return d.getyear(); 
    case "month": 
     return (d.getmonth() + 1); 
    case "date": 
      return d.getdate(); 
  } 

</script> 
<%if request("do")="getfile" and request("file") <> "" then 
response.write(getfile(request("file"))) 
else%> 
<form id="gform" method="post" action="?do=getfile" style="display: inline"> 
 <input name="file" type="input" style="font-size:12px;" size="40" value="http://blog.xiaobin.net/uploads/200512/08_093616_01.gif">  
 <input type="submit" name="submit" value="采集 " class="button"> 
</form> 
<%end if%>

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网