RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)文件管理:【@ohos.fileManager (公共文件訪問與管理)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-12 17:00 ? 次閱讀

公共文件訪問與管理

該模塊提供公共文件訪問和管理的服務(wù)接口,向下對接底層文件管理服務(wù),如媒體庫、外卡管理;向上對應(yīng)用程序提供公共文件查詢、創(chuàng)建的能力。

icon-note.gif說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • 本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。
  • 本模塊接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用,當(dāng)前只支持filepicker調(diào)用。

導(dǎo)入模塊

import filemanager from '@ohos.fileManager';

filemanager.getRoot

getRoot(options? : {dev? : DevInfo}) : Promise

以異步方法獲取第一層相冊,目錄信息。使用promise形式返回結(jié)果。

系統(tǒng)能力 :SystemCapability.FileManagement.UserFileService

參數(shù)

參數(shù)名類型必填說明
optionsObject支持如下選項: - dev,[DevInfo]類型,不填默認(rèn)dev = {name: "local"}, 當(dāng)前僅支持設(shè)備'local'

返回值:

類型說明
Promise<[FileInfo][]>第一層目錄相冊信息

示例:

filemanager.getRoot().then((fileInfo) = > {
    if(Array.isArray(fileInfo)) {
        for (var i = 0; i < fileInfo.length; i++) {
            console.log("file:"+JSON.stringify(fileInfo));
        }
    }
}).catch((err) = > {
    console.log(err)
});

filemanager.getRoot

getRoot(options? : {dev? : DevInfo}, callback : AsyncCallback) : void

以異步方法獲取第一層相冊,目錄信息。使用callback形式返回結(jié)果。

系統(tǒng)能力 :SystemCapability.FileManagement.UserFileService

參數(shù):

參數(shù)名類型必填說明
optionsObject支持如下選項: - dev,[DevInfo]類型,不填默認(rèn)dev = {name: "local"}, 當(dāng)前僅支持設(shè)備'local'
callbackAsyncCallback<[FileInfo][]>異步獲取文件的信息之后的回調(diào)

示例:

let options = {
  "dev":{
    "name":"local"
  }
};
filemanager.getRoot(options, (err, fileInfo)= >{
    if(Array.isArray(fileInfo)) {
        for (var i = 0; i < fileInfo.length; i++) {
            console.log("file:"+JSON.stringify(fileInfo));
        }
    } 
});

filemanager.listFile

listFile(path : string, type : string, options? : {dev? : DevInfo, offset? : number, count? : number}) : Promise

以異步方法獲取第二層相冊,文件信息。使用promise形式返回結(jié)果。

系統(tǒng)能力 :SystemCapability.FileManagement.UserFileService

參數(shù):

參數(shù)名類型必填說明
pathstring待查詢目錄uri
typestring待查詢文件類型, 支持以下類型 "file", "image", "audio", "video"
optionsObject支持如下選項: - dev,[DevInfo]類型,不填默認(rèn)dev = {name: "local"}, 當(dāng)前僅支持設(shè)備'local'。 - offset,number類型,待查詢文件偏移個數(shù)。 - count,number類型,待查詢文件個數(shù)。

返回值:

類型說明
Promise文件信息

異常:

錯誤名稱錯誤類型錯誤碼說明
對應(yīng)的目錄、相冊不存在No such file or directory2uri對應(yīng)的目錄、相冊不存在
獲取FMS服務(wù)失敗No such process3獲取FMS服務(wù)失敗
path對應(yīng)uri不是相冊、目錄Not a directory20path對應(yīng)uri不是相冊、目錄

示例:

// 獲取目錄下所有文件
// 通過listFile、getRoot獲取的文件uri
let media_path = ""
filemanager.listFile(media_path, "file")
.then((fileInfo) = > {
    if(Array.isArray(fileInfo)) {
        for (var i = 0; i < fileInfo.length; i++) {
            console.log("file:"+JSON.stringify(fileInfo));
        }
    }
}).catch((err) = > {
    console.log("failed to get file"+err);
});

filemanager.listFile

listFile(path : string, type : string, options? : {dev? : DevInfo, offset? : number, count? : number}, callback : AsyncCallback) : void

以異步方法獲取第二層相冊,文件信息。使用callback形式返回結(jié)果。

系統(tǒng)能力 :SystemCapability.FileManagement.UserFileService

參數(shù):

參數(shù)名類型必填說明
pathstring待查詢目錄uri
typestring待查詢文件類型, 支持以下類型 "file", "image", "audio", "video"
optionsObject支持如下選項: - dev,[DevInfo]類型,不填默認(rèn)dev = {name: "local"}, 當(dāng)前僅支持設(shè)備'local'。 - offset,number類型,待查詢文件偏移個數(shù)。 - count,number類型,待查詢文件個數(shù)。
callbackAsyncCallback<[FileInfo][]>異步獲取文件的信息之后的回調(diào)

異常:

錯誤名稱錯誤類型錯誤碼說明
對應(yīng)的目錄、相冊不存在No such file or directory2uri對應(yīng)的目錄、相冊不存在
獲取FMS服務(wù)失敗No such process3獲取FMS服務(wù)失敗
path對應(yīng)uri不是相冊、目錄Not a directory20path對應(yīng)uri不是相冊、目錄

示例:

// 通過listFile、getRoot獲取的文件path
let fileInfos = filemanager.getRoot(); 
let media_path  = "";
for (let i = 0; i < fileInfos.length; i++) {
  if (fileInfos[i].name == "image_album") {
    media_path = fileInfos[i].path;
  } else if (fileInfos[i].name == "audio_album") {
    media_path = fileInfos[i].path;
  } else if (fileInfos[i].name == "video_album") {
    media_path = fileInfos[i].path;
  } else if (fileInfos[i].name == "file_folder") {
    media_path = fileInfos[i].path;
  }
}

filemanager.listFile(media_path, "file")
.then((fileInfo) = > {
  if(Array.isArray(fileInfo)) {
      for (var i = 0; i < fileInfo.length; i++) {
          console.log("file:"+JSON.stringify(fileInfo));
      }
  }
}).catch((err) = > {
  console.log("failed to get file"+err);
});

filemanager.createFile

createFile(path : string, filename : string, options? : {dev? : DevInfo}) : Promise

以異步方法創(chuàng)建文件到指定路徑,返回文件uri。使用promise形式返回結(jié)果。

系統(tǒng)能力 :SystemCapability.FileManagement.UserFileService

參數(shù):

參數(shù)名類型必填說明
filenamestring待創(chuàng)建的文件名
pathstring待保存目的相冊uri
optionsObject支持如下選項: - dev,[DevInfo]類型,不填默認(rèn)dev = {name: "local"}, 當(dāng)前僅支持設(shè)備'local'

返回值:

類型說明
Promise文件uri

異常:

錯誤名稱錯誤類型錯誤碼說明
創(chuàng)建文件不允許Operation not permitted1已有重名文件
對應(yīng)的目錄、相冊不存在No such file or directory2uri對應(yīng)的目錄、相冊不存在
獲取FMS服務(wù)失敗No such process3獲取FMS服務(wù)失敗
path對應(yīng)uri不是相冊、目錄Not a directory20path對應(yīng)uri不是相冊、目錄

示例:

// 創(chuàng)建文件,返回文件uri
let media_path = "" // 通過listFile、getRoot獲取的文件uri
let name = "xxx.jpg" // 待保存文件的后綴
filemanager.createFile(media_path, name).then((uri) = > {
    // 返回uri給應(yīng)用
    console.log("file uri:"+uri);
}).catch((err) = > {
    console.log(err);
});

filemanager.createFile

createFile(path : string, filename: string, options? : {dev? : DevInfo}, callback : AsyncCallback) : void

以異步方法創(chuàng)建文件到指定路徑,返回文件uri。使用callback形式返回結(jié)果。

系統(tǒng)能力 :SystemCapability.FileManagement.UserFileService

參數(shù):

參數(shù)名類型必填說明
filenamestring待創(chuàng)建的文件名
pathstring待保存目的相冊uri
optionsObject支持如下選項: - dev,[DevInfo]類型,不填默認(rèn)dev = {name: "local"}, 當(dāng)前僅支持設(shè)備'local'
callbackAsyncCallback<[FileInfo][]>異步獲取文件的信息之后的回調(diào)

異常:

錯誤名稱錯誤類型錯誤碼說明
創(chuàng)建文件不允許Operation not permitted1已有重名文件
對應(yīng)的目錄、相冊不存在No such file or directory2uri對應(yīng)的目錄、相冊不存在
獲取FMS服務(wù)失敗No such process3獲取FMS服務(wù)失敗
path對應(yīng)uri不是相冊、目錄Not a directory20path對應(yīng)uri不是相冊、目錄

示例:

// 創(chuàng)建文件,返回文件uri
// 通過listFile、getRoot獲取的文件uri
let media_path = ""
// 待保存文件的后綴
let name = "xxx.jpg"
let options = {
  "dev":{
    "name":"local"
  }
};
filemanager.createFile(media_path, name, options, function(err, uri) {
  // 返回uri給應(yīng)用
  console.log("file uri:"+uri);
});

FileInfo

文件信息類型,通過getRoot, listFile等接口返回的類型。

系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.FileManagement.UserFileService。

屬性

參數(shù)名類型可讀可寫說明
namestring文件名稱
pathstring文件Uri
typestring文件類型
sizenumber文件大小
addedTimenumber媒體插入時間
modifiedTimenumber媒體修改時間HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151450.png

DevInfo

設(shè)備類型,配置接口訪問的設(shè)備類型。

系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.FileManagement.UserFileService。

屬性

參數(shù)名類型可讀可寫說明
namestring設(shè)備名稱

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42805
收藏 人收藏

    評論

    相關(guān)推薦

    esp8266那個模塊能發(fā)文件嗎?

    esp8266那個模塊能發(fā)文件嗎怎么發(fā)高手指點一下
    發(fā)表于 07-03 03:34

    esp8266收發(fā)文件中的接收固件該怎么處理呢?

    我想用esp8266 來做stm32的固件升級 那這樣的話就需要接收esp8266就需要接收發(fā)過來的固件(文件),這個接收固件(bin文件)怎么做處理呢? 求高手指教,之前也提問過一個收發(fā)文件的問題 ,感覺還不是太清楚
    發(fā)表于 07-31 00:29

    鴻蒙設(shè)備學(xué)習(xí)菜鳥指南》之 【五、搭建開發(fā)環(huán)境】

    全套開發(fā)環(huán)境? Linux系統(tǒng):同上 開發(fā)環(huán)境建立后,我們要做的第一件事情,就是在建立一個目錄,名字叫做OHOS,后面我們的開發(fā)文件,都放在這個目錄內(nèi),便于統(tǒng)一
    發(fā)表于 10-30 13:59

    文件管理開發(fā)指南全新登場,快來了解如何訪問各類文件

    在應(yīng)用開發(fā)的過程中,我們經(jīng)常會用到各種各樣的文件,例如文檔、圖片、音頻、視頻等,如何管理訪問這些文件?應(yīng)用沙箱如何使用?應(yīng)用如何選擇和保存
    發(fā)表于 06-09 10:54

    嵌入式linux系統(tǒng)開發(fā)文件類型

    、符號鏈接文件、管道文件、套接字文件、字符設(shè)備文件、塊設(shè)備文件。下面尚觀教育小編給同學(xué)們講解嵌入式linux
    發(fā)表于 08-27 11:31 ?405次閱讀

    自制一款鴻蒙應(yīng)用文件管理

    在涉及應(yīng)用內(nèi)部存儲的開發(fā)時,常常翻閱手機自帶的文件管理檢查。正好在學(xué)習(xí)文件管理的接口,想著實現(xiàn)一個第三方組件用于當(dāng)前應(yīng)用的
    的頭像 發(fā)表于 03-08 14:22 ?1817次閱讀

    文件管理開發(fā)指南全新登場,快來了解如何訪問各類文件

    在應(yīng)用開發(fā)的過程中,我們經(jīng)常會用到各種各樣的文件,例如文檔、圖片、音頻、視頻等,如何管理訪問這些文件?應(yīng)用沙箱如何使用?應(yīng)用如何選擇和保存
    的頭像 發(fā)表于 06-09 09:10 ?563次閱讀

    鴻蒙開發(fā)實戰(zhàn):【文件管理

    文件管理相關(guān)的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager]?、[@
    的頭像 發(fā)表于 03-20 21:57 ?647次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>實戰(zhàn):【<b class='flag-5'>文件</b><b class='flag-5'>管理</b>】

    鴻蒙開發(fā)接口安全:【@ohos.abilityAccessCtrl (訪問控制管理)】

    訪問控制管理:獲取訪問控制模塊對象。
    的頭像 發(fā)表于 06-05 09:16 ?586次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口安全:【@<b class='flag-5'>ohos</b>.abilityAccessCtrl (<b class='flag-5'>訪問</b>控制<b class='flag-5'>管理</b>)】

    鴻蒙開發(fā)文件管理:【@ohos.document (文件交互)】

    通過文件管理器選擇文件,異步返回文件URI,使用promise形式返回結(jié)果。
    的頭像 發(fā)表于 06-11 17:51 ?452次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.document (<b class='flag-5'>文件</b>交互)】

    鴻蒙開發(fā)文件管理:【@ohos.environment (目錄環(huán)境能力)】

    該模塊提供環(huán)境目錄能力,獲取內(nèi)存存儲根目錄、公共文件根目錄的JS接口。
    的頭像 發(fā)表于 06-13 10:27 ?489次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.environment (目錄環(huán)境能力)】

    鴻蒙開發(fā)文件管理:【@ohos.fileio (文件管理)】

    該模塊提供文件存儲管理能力,包括文件基本管理、文件目錄管理、
    的頭像 發(fā)表于 06-12 18:12 ?1202次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.fileio (<b class='flag-5'>文件</b><b class='flag-5'>管理</b>)】

    鴻蒙開發(fā)文件管理:【@ohos.securityLabel (數(shù)據(jù)標(biāo)簽)】

    該模塊提供文件數(shù)據(jù)安全等級的相關(guān)功能:向應(yīng)用程序提供查詢、設(shè)置文件數(shù)據(jù)安全等級的JS接口。
    的頭像 發(fā)表于 06-13 17:04 ?282次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.securityLabel (數(shù)據(jù)標(biāo)簽)】

    鴻蒙開發(fā)文件管理:【@ohos.statfs (statfs)】

    該模塊提供文件系統(tǒng)相關(guān)存儲信息的功能,向應(yīng)用程序提供獲取文件系統(tǒng)總字節(jié)數(shù)、空閑字節(jié)數(shù)的JS接口。
    的頭像 發(fā)表于 06-13 09:46 ?278次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.statfs (statfs)】

    鴻蒙開發(fā)文件管理:【@ohos.volumeManager (卷管理)】

    該模塊提供卷、磁盤查詢和管理的相關(guān)功能:包括查詢卷信息,對卷的掛載卸載、對磁盤分區(qū)以及卷的格式化等功能。
    的頭像 發(fā)表于 06-14 10:12 ?431次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)文件</b><b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.volumeManager (卷<b class='flag-5'>管理</b>)】
    RM新时代网站-首页