问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp 下载远程文件到服务器

发布网友 发布时间:2022-06-07 02:02

我来回答

1个回答

热心网友 时间:2023-10-14 13:52

调用download方法就可以下载文件了,程序会自动获取文件名,如果获取失败会以dat后缀保存文件

<%
'函数名:WritFile
'作用:把指定二进制数据写入文件
'参数:byt--二进制数据,file--要写入的文件名
public Function WritFile(ByVal byt, ByVal fileName)   '写入文件函数
on error resume next
Dim objAso:set objAso=server.createobject("adodb.Stream")
     objAso.Type = 1
     objAso.Mode = 3
     objAso.Open
     objAso.Position = 0
     objAso.Write byt
     objAso.SaveToFile fileName, 2
     objAso.Close
     Set objAso = Nothing
     WritFile = True
End Function
'函数名:Download
'作用:下载文件
'参数:URL-要获取的URL,savePath为文件保存地址
Public Function Download(ByVal URL, ByVal savePath)
On Error Resume Next
Dim ResBody, sStr, vPath, fileName, vErr
vErr = True
vPath = Replace(savePath, "/", "\")
If Right(vPath, 1) <> "\" Then vPath = vPath & "\"
sPos = InStrRev(URL, "/") + 1
sStr = Mid(URL, sPos)
Set Http = Server.CreateObject("MICROSOFT.XMLHTTP")
Http.Open "GET", URL, False
Http.Send
If Http.Readystate = 4 Then
If Http.Status = 200 Then
     ResBody = Http.responseBody
        head = Http.getResponseHeader("content-disposition")
        If head <> "" Then
           startpos = InStr(head, "=") + 1
           fileName = Mid(head, startpos)
        ElseIf InStr(sStr, ".") > 0 And InStr(sStr, "?") <= 0 Then
           fileName = sStr
        Else
           fileName = Getname() & ".dat"
        End If
        If WritFile(ResBody, vPath & fileName) Then vErr = False
End If
End If
Download = Not vErr
End Function
'函数名:getname
'作用:按日期获取随机数字
public Function Getname()
on error resume next
    Dim y,m,d,h,mm,S, r
    Randomize
    y = Year(Now)
    m = Month(Now): If m < 10 Then m = "0" & m
    d = Day(Now): If d < 10 Then d = "0" & d
    h = Hour(Now): If h < 10 Then h = "0" & h
    mm = Minute(Now): If mm < 10 Then mm = "0" & mm
    S = Second(Now): If S < 10 Then S = "0" & S
    r = 0
    r = CInt(Rnd() * 1000)
    If r < 10 Then r = "00" & r
    If r < 100 And r >= 10 Then r = "0" & r
    Getname = y & m & d & h & mm & S & r
End Function
call download("("."))
%>

追问本地和服务器上均测试失败,求解决

追答

附件中是新的程序,本地测试已成功。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
索尼NEX-6单头套机(E 16-50mm)主要参数 索尼NEX-6单头套机(E 18-200mm LE)主要参数 索尼NEX-6单头套机(E 18-200mm LE)基本参数 索尼NEX-6单头套机(16-80mm)基本参数 追加诉前财产保全的条件是什么 电脑开机硬盘灯循环亮灭电脑开机后硬盘灯一下亮一下灭是怎么回事_百度... ...不能开机了?显示器亮橘色的灯,风扇能转,就是主机上的灯不亮... ...重起时电源灯是常亮, 风扇是转的,但硬盘灯不亮, 屏幕无显示_百度知 ... 硬盘灯常亮电脑无法正常运行电脑开机后硬盘指示灯常亮不闪是什么原因... 电脑硬盘不亮电脑硬盘指示灯不亮 phpstorm 远程文件映射到本地文件怎样设定远程服务器 计算机中的宿主是什么啊? 氨水的化学名称氨水的化学名称怎么洗我们这招种类 视频名字跟直播名字不一样是不是重置了? 西班牙金苍蝇多少钱? Excite西班牙延迟喷剂是真药吗 男朋友在我的水里放了什么西班牙,,苍蝇,,被我偷偷看见了。但是我已经喝掉了,这到底是什么鬼?为什么 苍蝇多少钱一盒水? 盗墓笔记里的西班牙苍蝇什么意思 西班牙金苍有什么功效苍蝇?- 问一问 西班牙乌蝇水价格? 安全帽价格? 办退休时当兵档案名字最后一个字和身份证最后一个字同音不同字怎么办?_百度问一问 藏雪莲的花蕊的功效 广州三角市的工商银行叫什么分行? 广州珠三角是指哪? 档案姓名与身份证不符怎么办 退休档案和身份证名字不一样怎么办 身份证名字与档案名字不一样怎么办 户口本身份证名字一样但档案名字不一样怎么办? 蓖麻油是工业用油能吃吗 大家知道免钉胶的具体用途,适合在哪些行业 我扫对方二维码付款为什么变成别人名字? 男朋友的另一个微信好久没用了为什么扫码付款的时候显示昵称和之前不一样 扫同一个码显示不同名字钱也支付成功了,就是没收到钱是怎么回事? 就一个微信二维码收款码,会不会扫出来完成页面,收款人名字不一样?对方是不是用的以前截图 oppo查激活日期查询 二维码扫出来好几个名字却不是卖家是什么回事 9.5寸钳子买哪儿种的实用? 我在井下工作°多用剪断8号铁线用° QQ加好友自定义问题怎么回答? 联想笔记本开机黑屏有英文字,按任何键滴滴响,开不了机了,怎么办 WETOOL软件为什么登一个可以群发广告登另外一个就发不了了 独生子女证上的名字和身份证不一致怎么办 独生子女证上的名字和户口上的名不一样该去哪里证明? 独生子女证名字和户口本不一样 独生子女证和现名不符,怎么办 独生子女光荣证的名字与户口本不一样怎么办 独生子女证名字和户口本差一个字怎么办? 独生子女的户口迁走了。但户口和独生子女名子不一样怎么办? 请高手帮忙翻译一段关于热电联产中国成英文,小弟急用,先谢谢了