跳到主要内容

下载文件或目录 (samba:download)

声明

操作成败, 失败原因 = 客户端:download(远程URL, 本地路径[, 进度回调函数])

参数及返回值

  • 客户端
    • SMB客户端
  • 远程URL
    • 文本型,以 smb:// 开头的 SMB 服务器上的文件或目录 URL
  • 本地路径
    • 文本型,本地文件或目录路径
  • 进度回调函数
    • 函数型,可选,用于接收下载进度回调。返回值为 true 时,终止此次下载。传入回调函数的参数如下:
      • 当前文件属性表 - 关联表
      • 当前文件已传输字节数 - 整数型
  • 操作成败
    • 布尔型
  • 失败原因
    • 文本型,操作失败时,返回失败原因描述

当前文件属性表结构

{
modification = 1654506149.0, -- 最后修改时间戳
name = "TagList.sqlite-wal", -- 文件名
path = "smb://WORKGROUP/Documents/JSTColorPicker/TagList.sqlite-wal", -- 文件完整路径
size = 74192, -- 文件尺寸
type = "file", -- 文件类型,文件 "file" 或者目录 "dir"
access = 1654533327.0, -- 最后访问时间戳
mode = 33252,
creation = 1654506149.0, -- 创建时间戳
}

说明

如果 远程URL 指向一个远程目录,那么会 递归 下载目录下的所有文件和子目录。

示例

-- 本地路径支持相对路径和绝对路径
ok, err = smbclient:download('smb://WORKGROUP/Documents/JSTColorPicker', 'JSTColorPicker')