效果不如用WinHttp库下载
; 可以下载,但是下载大文件保存成文件时比较慢 MsgBox % urlDownloadToFile("https://gitee.com/dbgba/key/raw/master/ahk66/FindText/378-2.png") urlDownloadToFile(url, fileDest="", method=0){ SetBatchLines % ("-1", Bch:=A_BatchLines) if(!fileDest) { splitPath, url, fileDest fileDest := A_ScriptDir "\" fileDest } hObject:=ComObjCreate("WinHttp.WinHttpRequest.5.1") hObject.Open("GET",url) hObject.Send() uBytes:=hObject.ResponseBody,cLen:=uBytes.maxIndex() fileHandle:=fileOpen(fileDest,"w") ; 先放入内存变量中,再写一次 if(!method) { varSetCapacity(f, cLen, 0) Loop % cLen+1 numPut(uBytes[A_Index-1], f, A_Index-1, "UChar") err:=fileHandle.RawWrite(f, cLen+1) } else { ; 跳过内存变量,多次写入文件 Loop % cLen+1 err+=fileHandle.WriteUChar(uBytes[A_Index-1]) fileHandle.Close() } SetBatchLines %Bch% return err }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)