BUI

其它版本:

API for BUI 1.6.x

Show:

bui.download Class

下载控件, 支持安卓下载图片, web不支持, 默认使用web下载,切换原生,需要更改needNative参数

预览地址: demo

下载文件在本地,web不支持

getFile: 获取文件,获取不到则下载文件
start: 下载文件
stop: 停止下载
toBase64: 下载的图片转换成可以插入页面的图片
widget: 获取依赖的控件

Constructor

bui.download

(
  • option
)

Parameters:

  • option Object
    • [url] [ 下载的地址, 中文地址, needEncode 参数应该设置为true] String optional
    • [needEncode] [ 1.5.1新增 地址是否需要转码 默认: false | true , 如果是中文地址,需要转码] Boolean optional
    • [data] [ 请求下载需要传的参数] Object optional
    • [timeout] [ 触发timeout的时间默认60000] Number optional
    • [folderName] [ 文件夹名称,默认是download] String optional
    • [showProgress] [ 是否显示进度条 默认true] Boolean optional
    • [needNative] [ 1.5.1新增, 是否使用原生下载, 不受bui.isWebapp状态决定 默认 true|false 通过这个切换对应的效果,可以通过全局配置 bui.config.download= {needNative:true}] Boolean optional
    • [onProgress] [ 自定义进度条回调,接收百分比值] Function optional
    • [onSuccess] [ 成功的回调] Function optional
    • [onFail] [ 失败的回调] Function optional

Example:

js:

       // 1. 初始化 这里如果传url初始化,则马上下载
                                       var uidownload = bui.download();
                                
                                       // 2. 开始下载
                                       uiUpload.start({
                                           data: null
                                       })
                                

Methods

getFile

(
  • option
)
chainable

获取下载的文件,如果没有则重新下载

Parameters:

  • option Object

    [参数同初始化一样]

    • [url] [下载地址] String optional
    • [folderName] [保存的文件夹, 默认download文件夹,可以不用传] String optional
    • [onSuccess] [成功的回调] Function optional
    • [onFail] [失败的回调] Function optional

Example:

       uiDownload.getFile({
                                                       url: "http://",
                                                       onSuccess: function (url,file) {
                                                           console.log(url);
                                                       }
                                                   })
                                            

open

(
  • [option] []
  • [option.url] [ 文件路径,一般是通过getFile得到的路径]
  • [option.onSuccess] [成功的回调]
  • [option.onFail] [失败的回调]
)
chainable

Defined in src/scripts/mix/web/bui.download.js:360

Available since 1.5.2

本地程序打开文件, web不支持

Parameters:

  • [option] [] Object optional
  • [option.url] [ 文件路径,一般是通过getFile得到的路径] String optional
  • [option.onSuccess] [成功的回调] Function optional
  • [option.onFail] [失败的回调] Function optional

Example:

       uiDownload.open({
                                                       url: "file://",
                                                       onSuccess: function(url){
                                                           // 文件的地址
                                                           console.log(url)
                                                       }
                                                   })
                                            

removeFile

(
  • option
)
chainable

Defined in src/scripts/mix/web/bui.download.js:299

Available since 1.5.2

删除文件

Parameters:

  • option Object

    [参数同初始化一样]

    • [fileName] [删除的文件名称] String optional
    • [folderName] [删除的文件名称在哪个文件夹, 默认是: "download", 一般无需更改] String optional
    • [onSuccess] [成功的回调] Function optional
    • [onFail] [失败的回调] Function optional

Example:

       uiDownload.removeFile({
                                                       fileName: "customName.jpg",
                                                       onSuccess: function (url,file) {
                                                           console.log(url);
                                                       }
                                                   })
                                            

removeFolder

(
  • option
)
chainable

Defined in src/scripts/mix/web/bui.download.js:332

Available since 1.5.2

删除文件夹,默认是 "download"

Parameters:

  • option Object

    [参数同初始化一样]

    • [folderName] [删除的文件名称在哪个文件夹, 默认是: "download"] String optional
    • [onSuccess] [成功的回调] Function optional
    • [onFail] [失败的回调] Function optional

Example:

       uiDownload.removeFolder({
                                                       folderName: "customName.jpg",
                                                       onSuccess: function (url,file) {
                                                           console.log(url);
                                                       }
                                                   })
                                            

start

(
  • [option] [参数同初始化一样,查看最顶部的参数]
)
chainable

开始下载

Parameters:

  • [option] [参数同初始化一样,查看最顶部的参数] Object optional

Example:

       uiDownload.start({
                                                       url: "http://"
                                                   })
                                            

stop

() chainable

停止下载

Example:

       uiDownload.stop()
                                            

toBase64

(
  • option
)
chainable

把选择的图片文件转换成base64地址,可以直接展示在页面上

Parameters:

  • option Object
    • [data] [ 通过getFile得到的文件] String optional
    • [onSuccess] [成功的回调] Function optional
    • [onFail] [失败的回调] Function optional

Example:

       uiDownload.toBase64({
                                                       data: "file:///", //本地图片路径
                                                       onSuccess: function (imgurl) {
                                                           $("#id").append('<img src="'+imgurl+'" />')
                                                       }
                                                   });
                                            

widget

(
  • [name] [ 依赖控件名 loading]
)

获取依赖的控件

Parameters:

  • [name] [ 依赖控件名 loading] String optional

Example:

       //获取依赖控件
                                                   var uiLoading = uiFile.widget("loading");
                                            
                                                   //使用uiLoading的方法
                                                   uiLoading.start();