跳转到内容

Rebol 编程/request-download

来自维基教科书,开放世界中的开放书籍
REQUEST-DOWNLOAD url /to local-file 

从网络请求文件下载。显示进度。错误时返回无。

REQUEST-DOWNLOAD 是一个函数值。

  • url -- (类型:url)
  • /to -- 指定本地文件目标。
    • local-file -- (类型:文件无)

源代码

[编辑 | 编辑源代码]
request-download: func [
    {Request a file download from the net. Show progress. Return none on error.} 
    url [url!] 
    /to "Specify local file target." local-file [file! none!] 
    /local prog lo stop data stat event-port event
][
    view/new center-face lo: layout [
        backeffect [gradient 1x1 water gray] 
        space 10x8 
        vh2 300 gold "Downloading File:" 
        vtext bold center 300 to-string url 
        prog: progress 300 
        across 
        btn 90 "Cancel" [stop: true] 
        stat: text 160x24 middle
    ] 
    stop: false 
    data: read-thru/to/progress/update url local-file func [total bytes] [
        prog/data: bytes / (max 1 total) 
        stat/text: reform [bytes "bytes"] 
        show [prog stat] 
        not stop
    ] 
    unview/only lo 
    if not stop [data]
]
华夏公益教科书