自动采集程序

所属分类: 网络编程 / ASP编程 阅读数: 1506
收藏 0 赞 0 分享
复制代码 代码如下:

<% 
  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%>

更多精彩内容其他人还在看

asp知识整理笔记4(问答模式)

这是关于asp知识整理的最后一份笔记,希望大家仔细阅读。
收藏 0 赞 0 分享

ASP基础知识VBScript基本元素讲解

这篇文章主要介绍了ASP基础知识VBScript基本元素的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP编码和解码函数详解

这篇文章主要介绍了ASP编码和解码函数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP显示页面执行时间的方法

这篇文章主要介绍了ASP显示页面执行时间的方法,在本地测试一下输出页面需要多少时间,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第一篇(ASP技术简介)

本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网站的步骤和技巧并通过大量的实例,让你在不断的理论和实践之中笑傲“网络”……
收藏 0 赞 0 分享

ASP基础入门第二篇(ASP基础知识)

这篇文章是ASP基础入门第二篇,第一篇展示了ASP动态网站设计的一些最基本的方法,相信通过实践各位对 ASP 已经有了最基本的了解,本文将进一步介绍ASP动态网站的一些基本技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第三篇(ASP脚本基础)

通过前两篇的学习,相信各位已经对 ASP 的动态网站设计有了一个基本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入深地带领大家探索 ASP 动态网站设计的真正奥秘。
收藏 0 赞 0 分享

ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。
收藏 0 赞 0 分享

ASP基础入门第五篇(ASP脚本循环语句)

在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。  
收藏 0 赞 0 分享

ASP基础入门第六篇(ASP内建对象Request)

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多