跳轉到內容

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]
]
華夏公益教科書