Show:

bui.file Class

文件管理,主要用于对下载文件的管理, 注意: BUI 1.7开始将废弃掉该原生接口, 请使用对应的原生平台抛出的方法使用

预览地址: demo

所有文件及文件夹的操作都基于根应用文件夹

getFolder: 获取创建文件夹
removeFolder: 删除文件夹包含里面的所有文件
getFile: 获取创建文件
removeFile: 删除单个文件
getFileName: 返回路径的文件名
open: 打开文件

Constructor

bui.file

(
  • [option]
)

Parameters:

  • [option] Object optional
    • [native] Boolean optional

      1.5.1废弃,由needNative决定 默认true 由bui.isWebapp状态决定 false则强制采用web方式

    • [needNative] Boolean optional

      1.5.1新增, 是否使用原生上传, 不受bui.isWebapp状态决定 默认 false|true 通过这个切换对应的效果,可以通过全局配置 bui.config.file = {needNative:true}

    • [size] Number optional

      默认10 M存储的大小, WEB存储需要

Example:

js:

       var uiFile = bui.file();
                                    
                                           // 创建 download 文件夹下的 bui.docx 文件
                                           uiFile.getFile({
                                               folderName: "download",
                                               fileName: "bui.docx",
                                               onSuccess: function (aa) {
                                                   bui.alert(aa)
                                               },
                                               onFail: function (err) {
                                                   bui.alert(err)
                                               }
                                           })
                                    

Methods

getFile

(
  • [option]
)
chainable

获取文件或者创建文件

Parameters:

  • [option] Object optional
    • [fileName] String optional

      文件名称 需要带后缀名

    • [folderName] String optional

      文件夹名称, 创建子文件夹 download/image

    • [create] Boolean optional

      是否创建文件 默认 false | true

    • [onSuccess] Function optional

      成功的回调

    • [onFail] Function optional

      失败的回调

Example:

       uiFile.getFile({
                                                           fileName: "bui.docx",
                                                           folderName: "download",
                                                           onSuccess: function(){
                                                               // this 指向 uiFile
                                                               console.log(this);
                                                           }
                                                       })
                                                

getFileName

(
  • name
)

获取文件名

Parameters:

  • name String

    [ url地址, 例如: file:开头,http开头 ]

Example:

       var name = uiFile.getFileName("file://bui.debug/bui.jpg?id=abcd");
                                                       // name = bui.jpg
                                                

getFolder

(
  • [option]
)
chainable

获取文件夹或者创建文件夹

Parameters:

  • [option] Object optional
    • [folderName] String optional

      文件夹名称, 创建子文件夹 download/image

    • [create] Boolean optional

      是否创建文件夹 默认 false | true

    • [onSuccess] Function optional

      成功的回调

    • [onFail] Function optional

      失败的回调

Example:

      // 创建download文件夹
                                                       uiFile.getFolder({
                                                           folderName: "download",
                                                           create: true
                                                       })
                                                

open

(
  • [option]
)
chainable

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

Parameters:

  • [option] Object optional
    • [url] String optional

      文件路径,一般是通过getFile得到的路径

    • [onSuccess] Function optional

      成功的回调

    • [onFail] Function optional

      失败的回调

Example:

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

removeFile

(
  • [option]
)
chainable

删除文件,谨慎使用

Parameters:

  • [option] Object optional
    • [fileName] String optional

      文件名称,

    • [folderName] String optional

      哪个文件夹下的文件

    • [onSuccess] Function optional

      成功的回调

    • [onFail] Function optional

      失败的回调

Example:

       // 会包含文件夹所有的文件, 谨慎使用
                                                       uiFile.removeFile({
                                                           fileName: "bui.docx",
                                                           folderName: "download"
                                                       })
                                                

removeFolder

(
  • [option]
)
chainable

删除文件夹及里面所有文件,谨慎使用

Parameters:

  • [option] Object optional
    • [folderName] String optional

      文件夹名称

    • [onSuccess] Function optional

      成功的回调

    • [onFail] Function optional

      失败的回调

Example:

       // 会包含文件夹所有的文件, 谨慎使用
                                                       uiFile.removeFolder({
                                                           folderName: "download"
                                                       })
                                                

toBase64

(
  • [option]
)
chainable

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

Parameters:

  • [option] Object optional
    • [data] String optional

      通过getFile得到的文件

    • [onSuccess] Function optional

      成功的回调

    • [onFail] Function optional

      失败的回调

Example:

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

widget

(
  • [name]
)

获取依赖的控件

Parameters:

  • [name] String optional

    依赖控件名 fileselect

Example:

       //获取依赖控件
                                                       var uiFileSelect = uiFile.widget("fileselect");
                                                
                                                       //使用uifileselect的方法
                                                       uiFileSelect.add({
                                                           onSuccess: function(data){
                                                               console.log(data);
                                                           }
                                                       });