文件位于别人的网上,想把它用于自己的网站,由于直接引用URL会担心别人改变地址文件就用不了了。所以一般都会先下载下来,然后再上传到自己的网站。这样有点麻烦。于是有了下面的编码,填入URL就可以自动上传到自己的网站里~!程序代码:
<%
Dim result
result = SaveRemoteFile("police.rar","http://gd-http.skycn.net:8081/down/tyChecktime180.rar")
If result Then
Response.Write "ok"
Else
Response.Write "error"
End If
Function SaveRemoteFile(s_LocalFileName, s_RemoteFileUrl)
Dim Ads, Retrieval, GetRemoteData
Dim bError
bError = False
SaveRemoteFile = False
On Error Resume Next
Set Retrieval = Server.CreateObject("Msxml2.ServerXMLHTTP")
With Retrieval
.Open "GET", s_RemoteFileUrl, False
.Send
If .Status = 200 Then
GetRemoteData = .ResponseBody
Else
bError = True
End If
End With
Set Retrieval = Nothing
If Not bError Then
Set Ads = Server.CreateObject("Adodb.Stream")
With Ads
.Type = 1
.Open
.Write GetRemoteData
.SaveToFile Server.MapPath(s_LocalFileName), 2
.Cancel()
.Close()
End With
Set Ads=nothing
End If
If Err.Number = 0 And Not bError Then
SaveRemoteFile = True
Else
Err.Clear
End If
End Function
%>
解决了之前说的问题,而且不仅仅支持图片上传,其他文件也可以。。。
<%
Dim result
result = SaveRemoteFile("police.rar","http://gd-http.skycn.net:8081/down/tyChecktime180.rar")
If result Then
Response.Write "ok"
Else
Response.Write "error"
End If
Function SaveRemoteFile(s_LocalFileName, s_RemoteFileUrl)
Dim Ads, Retrieval, GetRemoteData
Dim bError
bError = False
SaveRemoteFile = False
On Error Resume Next
Set Retrieval = Server.CreateObject("Msxml2.ServerXMLHTTP")
With Retrieval
.Open "GET", s_RemoteFileUrl, False
.Send
If .Status = 200 Then
GetRemoteData = .ResponseBody
Else
bError = True
End If
End With
Set Retrieval = Nothing
If Not bError Then
Set Ads = Server.CreateObject("Adodb.Stream")
With Ads
.Type = 1
.Open
.Write GetRemoteData
.SaveToFile Server.MapPath(s_LocalFileName), 2
.Cancel()
.Close()
End With
Set Ads=nothing
End If
If Err.Number = 0 And Not bError Then
SaveRemoteFile = True
Else
Err.Clear
End If
End Function
%>
解决了之前说的问题,而且不仅仅支持图片上传,其他文件也可以。。。
回复Comments
作者:
{commentrecontent}