快應(yīng)用 文件存儲(chǔ)

2020-08-10 14:18 更新

接口聲明

{"name": "system.file"}

導(dǎo)入模塊

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

接口定義

file.move(OBJECT)

將源文件移動(dòng)到指定位置,接口中使用的URI描述請(qǐng)參考 文件組織

參數(shù):

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

示例:

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)

將源文件復(fù)制一份并存儲(chǔ)到指定位置,接口中使用的URI描述請(qǐng)參考 文件組織

參數(shù):

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

示例:

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描述請(qǐng)參考 文件組織

參數(shù):

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

示例:

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 描述請(qǐng)參考 文件組織

參數(shù):

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

示例:

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)

刪除本地存儲(chǔ)的文件,接口中使用的 URI 描述請(qǐng)參考 文件組織

參數(shù):

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

示例:

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+

寫(xiě)文本到文件

參數(shù):

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

示例:

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+

寫(xiě)B(tài)uffer到文件

參數(shù):

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

示例:

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ù)名 類(lèi)型 必填 說(shuō)明
uri String 本地文件路徑
encoding String 編碼格式,默認(rèn) UTF-8
success Function 成功回調(diào)
fail Function 失敗回調(diào)
complete Function 執(zhí)行結(jié)束后的回調(diào)
success返回值:
參數(shù)名 類(lèi)型 說(shuō)明
text String 讀取的文本
fail返回錯(cuò)誤代碼:
錯(cuò)誤碼 說(shuō)明
202 參數(shù)錯(cuò)誤
300 I/O 錯(cuò)誤
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ù)名 類(lèi)型 必填 說(shuō)明
uri String 本地文件路徑
position Number 讀取的起始位置,默認(rèn)值為文件的起始位置
length Number 讀取的長(zhǎng)度,不填寫(xiě)則讀取到文件結(jié)尾
success Function 成功回調(diào)
fail Function 失敗回調(diào)
complete Function 執(zhí)行結(jié)束后的回調(diào)
success返回值:
參數(shù)名 類(lèi)型 說(shuō)明
buffer Uint8Array 讀取的文件內(nèi)容
fail返回錯(cuò)誤代碼:
錯(cuò)誤碼 說(shuō)明
202 參數(shù)錯(cuò)誤
300 I/O 錯(cuò)誤
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ù)名類(lèi)型必填說(shuō)明
uriString目錄或文件 uri,不能是應(yīng)用資源路徑和 tmp 類(lèi)型的 uri
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結(jié)束后的回調(diào)
fail 返回錯(cuò)誤代碼:
錯(cuò)誤碼說(shuō)明
202參數(shù)錯(cuò)誤
300I/O 錯(cuò)誤

示例:

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ù)名類(lèi)型必填說(shuō)明
uriString目錄的 uri,不能是應(yīng)用資源路徑和 tmp 類(lèi)型的 uri
recursiveBoolean是否遞歸創(chuàng)建該目錄的上級(jí)目錄后再創(chuàng)建該目錄。默認(rèn) false
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結(jié)束后的回調(diào)
fail 返回錯(cuò)誤代碼:
錯(cuò)誤碼說(shuō)明
202參數(shù)錯(cuò)誤
300I/O 錯(cuò)誤

示例:

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ù)名類(lèi)型必填說(shuō)明
uriString目錄的 uri,不能是應(yīng)用資源路徑和 tmp 類(lèi)型的 uri
recursiveBoolean是否遞歸刪除子文件和子目錄。默認(rèn) false
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結(jié)束后的回調(diào)
fail 返回錯(cuò)誤代碼:
錯(cuò)誤碼說(shuō)明
202參數(shù)錯(cuò)誤
300I/O 錯(cuò)誤

示例:

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

后臺(tái)運(yùn)行限制

無(wú)限制。

后臺(tái)運(yùn)行詳細(xì)用法參見(jiàn) 后臺(tái)運(yùn)行腳本。


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)