快應用 文件存儲

2020-08-10 14:18 更新

接口聲明

{"name": "system.file"}

導入模塊

import file from '@system.file' 
或 
const file = require('@system.file')

接口定義

file.move(OBJECT)

將源文件移動到指定位置,接口中使用的URI描述請參考 文件組織

參數(shù):

參數(shù)名 類型 必填 說明
srcUri String 源文件的uri,不能是應用資源路徑和tmp類型的uri
dstUri String 目標文件的uri,不能是應用資源路徑和tmp類型的uri
success Function 成功回調(diào),返回目標文件的uri
fail Function 失敗回調(diào)
complete Function 執(zhí)行結束后的回調(diào)
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O錯誤

示例:

file.move({
  srcUri: 'internal://cache/path/to/file',
  dstUri: 'internal://files/path/to/file',
  success: function (uri) {
    console.log(`move success: ${uri}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.copy(OBJECT)

將源文件復制一份并存儲到指定位置,接口中使用的URI描述請參考 文件組織

參數(shù):

參數(shù)名 類型 必填 說明
srcUri String 源文件的uri
dstUri String 目標文件的uri,不能是應用資源路徑和tmp類型的uri
success Function 成功回調(diào),返回目標文件的uri
fail Function 失敗回調(diào)
complete Function 執(zhí)行結束后的回調(diào)
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O錯誤

示例:

file.copy({
  srcUri: 'internal://cache/path/to/file',
  dstUri: 'internal://files/path/to/file',
  success: function (uri) {
    console.log(`copy success: ${uri}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.list(OBJECT)

獲取指定目錄下的文件列表,接口中使用的URI描述請參考 文件組織

參數(shù):

參數(shù)名 類型 必填 說明
uri String 目錄uri,不能是應用資源路徑和tmp類型的uri
success Function 成功回調(diào),返回{fileList:[{uri:'file1',lastModifiedTime:1234456, length:123456} ...]}
fail Function 失敗回調(diào)
complete Function 執(zhí)行結束后的回調(diào)
success返回值:
參數(shù)名 類型 說明
fileList Array 文件列表,每個文件的格式為{uri:'file1',lastModifiedTime:1234456, length:123456}
每個文件的元信息:
參數(shù)名 類型 說明
uri String 文件的 uri,該 uri 可以被其他組件或 Feature 訪問
length Number 文件大小,單位B
lastModifiedTime Number 文件的保存是的時間戳,從 1970/01/01 00:00:00 GMT 到當前時間的毫秒數(shù)
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O錯誤

示例:

file.list({
  uri: 'internal://files/movies/',
  success: function (data) {
    console.log(data.fileList)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.get(OBJECT)

獲取本地文件的文件信息,接口中使用的 URI 描述請參考 文件組織

參數(shù):

參數(shù)名類型必填說明
uriString文件的 uri,不能是應用資源路徑
recursive 1060+Boolean是否遞歸獲取子目錄文件列表。默認false
successFunction成功回調(diào),返回 { uri:'file1', length:123456, lastModifiedTime:1233456 }
failFunction失敗回調(diào)
completeFunction執(zhí)行結束后的回調(diào)
success返回值:
參數(shù)名類型說明
uriString文件的 uri,該 uri 可以被其他組件或 Feature 訪問
lengthNumber文件大小,單位 B
lastModifiedTimeNumber文件的保存是的時間戳,從 1970/01/01 08:00:00 到當前時間的毫秒數(shù)
type 1060+String文件類型,dir:目錄;file:文件
subFiles 1060+Array文件列表,recursive為true且type為dir時遞歸返回子目錄文件細信息,否則不返回
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O 錯誤

示例:

file.get({
  uri: 'internal://files/path/to/file',
  success: function (data) {
    console.log(data.uri);
    console.log(data.length);
    console.log(data.lastModifiedTime);
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.delete(OBJECT)

刪除本地存儲的文件,接口中使用的 URI 描述請參考 文件組織

參數(shù):

參數(shù)名 類型 必填 說明
uri String 需要刪除的文件 uri,不能是應用資源路徑和 tmp 類型的 uri
success Function 成功回調(diào)
fail Function 失敗回調(diào)
complete Function 執(zhí)行結束后的回調(diào)
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O 錯誤

示例:

file.delete({
  uri: 'internal://files/path/to/file',
  success: function (data) {
    console.log('handling success')
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.writeText(OBJECT)1010+

寫文本到文件

參數(shù):

參數(shù)名類型必填說明
uriString本地文件路徑,不支持資源文件路徑和 tmp 分區(qū),如果文件不存在會創(chuàng)建文件
textString需要寫入的字符串
encodingString編碼格式,默認 UTF-8
append 1060+Boolean是否追加模式,默認 false
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結束后的回調(diào)
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O 錯誤

示例:

file.writeText({
  uri: 'internal://files/work/demo.txt',
  text: 'test',
  success: function () {
    console.log('handling success')
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.writeArrayBuffer(OBJECT)1010+

寫B(tài)uffer到文件

參數(shù):

參數(shù)名類型必填說明
uriString本地文件路徑,不支持資源文件路徑和 tmp 分區(qū),如果文件不存在會創(chuàng)建文件
bufferUint8Array需要寫入的 Buffer
positionNumber指向文件開始寫入數(shù)據(jù)的位置的偏移量,默認 0
append 1060+Boolean是否追加模式,默認 false。當為 true 時, position 參數(shù)無效
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結束后的回調(diào)
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O 錯誤

示例:

file.writeArrayBuffer({
  uri: 'internal://files/work/demo',
  buffer: buffer,
  success: function () {
    console.log('handling success')
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.readText(OBJECT)1010+

從文件中讀取文本

參數(shù):

參數(shù)名 類型 必填 說明
uri String 本地文件路徑
encoding String 編碼格式,默認 UTF-8
success Function 成功回調(diào)
fail Function 失敗回調(diào)
complete Function 執(zhí)行結束后的回調(diào)
success返回值:
參數(shù)名 類型 說明
text String 讀取的文本
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O 錯誤
301 文件不存在

示例:

file.readText({
  uri: 'internal://files/work/demo.txt',
  success: function (data) {
    console.log('text: '+ data.text)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.readArrayBuffer(OBJECT)1010+

從文件中讀取Buffer

參數(shù):

參數(shù)名 類型 必填 說明
uri String 本地文件路徑
position Number 讀取的起始位置,默認值為文件的起始位置
length Number 讀取的長度,不填寫則讀取到文件結尾
success Function 成功回調(diào)
fail Function 失敗回調(diào)
complete Function 執(zhí)行結束后的回調(diào)
success返回值:
參數(shù)名 類型 說明
buffer Uint8Array 讀取的文件內(nèi)容
fail返回錯誤代碼:
錯誤碼 說明
202 參數(shù)錯誤
300 I/O 錯誤
301 文件不存在

示例:

file.readArrayBuffer({
  uri: 'internal://files/work/demo',
  position: 100,
  length: 100,
  success: function (data) {
    console.log('buffer.length: '+ data.buffer.length)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.access(OBJECT)1060+

判斷文件或目錄是否存在

參數(shù):

參數(shù)名類型必填說明
uriString目錄或文件 uri,不能是應用資源路徑和 tmp 類型的 uri
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結束后的回調(diào)
fail 返回錯誤代碼:
錯誤碼說明
202參數(shù)錯誤
300I/O 錯誤

示例:

file.access({
  uri: 'internal://files/test',
  success: function(data) {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.mkdir(OBJECT)1060+

創(chuàng)建目錄

參數(shù):

參數(shù)名類型必填說明
uriString目錄的 uri,不能是應用資源路徑和 tmp 類型的 uri
recursiveBoolean是否遞歸創(chuàng)建該目錄的上級目錄后再創(chuàng)建該目錄。默認 false
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結束后的回調(diào)
fail 返回錯誤代碼:
錯誤碼說明
202參數(shù)錯誤
300I/O 錯誤

示例:

file.mkdir({
  uri: 'internal://files/dir/',
  success: function(data) {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

file.rmdir(OBJECT)1060+

刪除目錄

參數(shù):

參數(shù)名類型必填說明
uriString目錄的 uri,不能是應用資源路徑和 tmp 類型的 uri
recursiveBoolean是否遞歸刪除子文件和子目錄。默認 false
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結束后的回調(diào)
fail 返回錯誤代碼:
錯誤碼說明
202參數(shù)錯誤
300I/O 錯誤

示例:

file.rmdir({
  uri: 'internal://files/dir/',
  success: function(data) {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

后臺運行限制

無限制。

后臺運行詳細用法參見 后臺運行腳本


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號