ASP采集入库生成本地文件的几个函数

时间:2022-01-14 13:28:05
  1. '*****************************************************************  
  2. function  
  3. ' 作用 :利用流保存文件  
  4. ' 参数 :from(远程文件地址),tofile(保存文件位置)  
  5. '*****************************************************************  
  6. Private Function SaveFiles(byref from,byref tofile)  
  7. Dim Datas  
  8. Datas=GetData(from,0)  
  9. Response.Write "保存成功:"&formatnumber(len(Datas)/1024*2,2)&"Kb"  
  10. response.Flush  
  11. if formatnumber(len(Datas)/1024*2,2)>1 then  
  12. ADOS.Type = 1  
  13. ADOS.Mode =3  
  14. ADOS.Open  
  15. ADOS.write Datas  
  16. ADOS.SaveToFile server.mappath(tofile),2  
  17. ADOS.Close()  
  18. else  
  19. Response.Write "保存失败:文件大小"&formatnumber(len(imgs)/1024*2,2)&"Kb,小于1K"  
  20. response.Flush  
  21. end if  
  22. end function  
  23.  
  24. '*****************************************************************  
  25. function(私有)  
  26. ' 作用 :利用fso检测文件是否存在,存在返回true,不存在返回false  
  27. ' 参数 :filespes(文件位置)  
  28. '*****************************************************************  
  29. Private Function IsExists(byref filespec)   
  30. If (FSO.FileExists(server.MapPath(filespec))) Then  
  31. IsExists = True  
  32. Else  
  33. IsExists = False  
  34. End If  
  35. End Function  
  36.  
  37. '*****************************************************************  
  38. function(私有)  
  39. ' 作用 :利用fso检测文件夹是否存在,存在返回true,不存在返回false  
  40. ' 参数 :folder(文件夹位置)  
  41. '*****************************************************************  
  42. Private Function IsFolder(byref Folder)  
  43. If FSO.FolderExists(server.MapPath(Folder)) Then   
  44. IsFolder = True  
  45. Else  
  46. IsFolder = False  
  47. End If  
  48. End Function  
  49.  
  50. '*****************************************************************  
  51. function(私有)  
  52. ' 作用 :利用fso创建文件夹  
  53. ' 参数 :fldr(文件夹位置)  
  54. '*****************************************************************  
  55. Private Function CreateFolder(byref fldr)   
  56. Dim f  
  57. Set f = FSO.CreateFolder(Server.MapPath(fldr))  
  58. CreateFolder = f.Path  
  59. Set f=nothing  
  60. End Function  
  61.  
  62. '*****************************************************************  
  63. function(公有)  
  64. ' 作用 :保存文件,并自动创建多级文件夹  
  65. ' 参数 :fromurl(远程文件地址),tofiles (保存位置)  
  66. '*****************************************************************  
  67. Public Function SaveData(byref FromUrl,byref ToFiles)  
  68. ToFiles=trim(Replace(ToFiles,"//","/"))  
  69. flName=ToFiles  
  70. fldr=""  
  71. If IsExists(flName)=false then   
  72. GetNewsFold=split(flName,"/")  
  73. For i=0 to Ubound(GetNewsFold)-1  
  74. if fldr="" then  
  75. fldr=GetNewsFold(i)  
  76. else  
  77. fldr=fldr&"\"&GetNewsFold(i)  
  78. end if  
  79. If IsFolder(fldr)=false then  
  80. CreateFolder fldr  
  81. End if  
  82. Next  
  83. SaveFiles FromUrl,flName  
  84. End if  
  85. End function  
  86. '*****************************************************************  
  87. function(公有)  
  88. ' 作用 :取得远程数据  
  89. ' 参数 :url(远程文件地址),getmode (模式:0为二进制,1为中文编码)  
  90. '*****************************************************************  
  91. Public Function GetData(byref url,byref GetMode)   
  92. 'on error resume next   
  93. SourceCode = OXML.open ("GET",url,false)  
  94. OXML.send()   
  95. if OXML.readystate<>4 then exit function  
  96. if GetMode=0 then  
  97. GetData = OXML.responseBody  
  98. else  
  99. GetData = BytesToBstr(OXML.responseBody)  
  100. end if  
  101. if err.number<>0 then err.Clear  
  102. End Function  
  103.  
  104. '*****************************************************************  
  105. function(公有)  
  106. ' 作用 :格式化远程图片地址为本地位置  
  107. ' 参数 :imgurl(远程图片地址),imgfolder (本地图片目录),fristname(加入的前缀名称)  
  108. '*****************************************************************  
  109. Public Function FormatImgPath(byref ImgUrl,byref ImgFolder,byref FristName,byref noimg)  
  110. strpath=""  
  111. ImgUrl=ImgUrl  
  112. if instr(ImgUrl,"Nophoto") or lenb(GetData(ImgUrl,0))<=0 then  
  113. strpath=noimg  
  114. Response.Write ""&strpath&"" &vbcrlf  
  115. else  
  116. if Instr(ImgUrl,".asp") then  
  117. strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "=")+1)&".jpg"  
  118. else  
  119. strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "/")+1)  
  120. end if  
  121. strpath = ImgFolder&"/"&strpath  
  122. strpath = Replace(strpath,"//","/")  
  123. if left(strpath,1)="/" then strpath=right(strpath,len(strpath)-1)  
  124. strpath = trim(strpath)  
  125. Response.Write ""&strpath&"" &vbcrlf  
  126. savedata ImgUrl,strpath  
  127. end if  
  128. FormatImgPath = strpath  
  129. End function