TC官方合作论坛
标题:
下载服务器上文件方法
[打印本页]
作者:
qq32881
时间:
2015-3-18 18:04
标题:
下载服务器上文件方法
本帖最后由 qq32881 于 2015-3-18 18:09 编辑
功能 下载文件(pCaller,szURL,szFileName,dwReserved,lpfnCB)
动态库调用("wininet.dll","bool","DeleteUrlCacheEntry","char *",szURL) //清除缓存
变量 返回值=动态库调用("urlmon.dll","int","URLDownloadToFileA","int",pCaller,"char *",szURL&"?rnd="&随机数(1,100000),"char *",szFileName,"int",dwReserved,"int",lpfnCB) //下载地址加上无用后缀
如果(返回值==0)
返回 真
否则
返回 假
结束
结束
功能 打开文件(lpCmdLine,nCmdShow)
//Declare Function WinExec Lib "kernel32" Alias "WinExec" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
变量 返回值=动态库调用("kernel32.dll","int","WinExec","char *",lpCmdLine,"int",nCmdShow)
如果(返回值>31)
返回 真
否则
返回 假
结束
结束
//开始按钮_点击操作
function start_click()
变量 url="[url=http://sdzzp.com/test.exe]http://sdzzp.com/test.exe[/url]"
变量 UrlToFlie="test.exe"
变量 下载结果=下载文件(0,url,UrlToFlie,0,0)
如果(下载结果)
消息框("下载成功!!!")
变量 打开结果= 打开文件(UrlToFlie,1)
如果(打开结果)
消息框("打开成功!!!")
否则
消息框("打开失败!!!")
结束
否则
消息框("下载失败!!!")
结束
end
//退出按钮_点击操作
function exit_click()
exit()
end
复制代码
作者:
qq32881
时间:
2015-3-18 18:08
解决了缓存问题,例如下载同一路径的文件两次,如果服务器上变动了。由于缓存的原因,还是会直接打开已下载的文件。。
解决方法有两种:
1,曲线法:将下载地址后边加上无用的动态参数,确保每次下载地址不同。缓存中自然没有。。
2,清除法:下载前清除缓存,自然缓存中就没有数据了。
为了防止权限等问题清除缓存失败,可以同时使用两种方法,,确保万无一失。。。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1