HTML5 本地文件操作之FileSystemAPI整理(二)
一、文件目錄操作
1.DirectoryEntry對象
屬性:
?1.isFile: 操作對象的是否為文件,DirectoryEntry對象固定其值為false
?2.isDirectory: 操作對象是否為目錄,DirectoryEntry對象固定其值為true
?3.name: 目錄操作對象的名稱,不包括路徑
?4.fullPath: 目錄操作對象的完整路徑,文件系統的絕對路徑
?5.fileSystem: 文件操作對象所屬的文件系統對象,參考FileSystem
方法:
?1.?entry.getMetadata( successCB, errorCB, recursive ); 獲取文件夾信息
succesCB: (?MetadataSuccessCallback?) 必選 獲取文件或目錄屬性信息成功的回調。
errorCB: (?FileErrorCallback) 必選 獲取文件或目錄屬性信息失敗的回調。
recursive: ( Boolean ) 必選 是否遞歸計算目錄信息,true為遞歸計算獲取信息,false不遞歸計算獲取,默認值為false。(測試時,參數沒起作用)
2.entry.moveTo( parent, newName, succesCB, errorCB ); 移動目錄
3.entry.copyTo( parent, newName, succesCB, errorCB ); 拷貝目錄
說明:以下情況拷貝目錄將會導致失敗: 將父目錄拷貝到子目錄中; 要拷貝到的目標目錄無效; 要拷貝到的目標路徑被文件占用; 要拷貝到的目標目錄已經存在并且不為空。 拷貝目錄成功通過succesCB回調返回,失敗則通過errorCB返回。
4.?DOMString entry.toURL();?獲取目錄路徑轉換為URL地址,示例:filesystem:http://localhost:57128/persistent/txt_2_rename
5.?entry.remove( succesCB, errorCB );刪除目錄
說明:以下情況刪除目錄將會導致失敗: 目錄中存在文件; 刪除根目錄; 刪除目錄成功通過succesCB回調返回,失敗則通過errorCB返回。
6.?entry.getParent( succesCB, errorCB );獲取父目錄
succesCB: (?EntrySuccessCallback?) 可選 獲取父目錄成功的回調函數,回調函數接收參數為上一級目錄引用DirectoryEntry對象
errorCB: (?FileErrorCallback) 可選 獲取父目錄失敗的回調函數
示例如下:獲取到的是根目錄。
7.? DirectoryReader entry.createReader();
說明:創建一個目錄讀取對象,用戶讀取目下的文件及子目錄。
8.?entry.getDirectory( path, flag, succesCB, errorCB ); 創建或打開子目錄
- path: ( DOMString ) 必選 要操作目錄相對于當前目錄的地址
- flag: ( Flags ) 可選 要操作文件或目錄的參數
- succesCB: (?EntrySuccessCallback?) 可選 創建或打開目錄成功的回調函數
- errorCB: (?FileErrorCallback) 可選 創建或打開目錄失敗的回調函數
9.entry.getFile( path, flag, succesCB, errorCB );創建或打開文件
10.entry.removeRecursively( succesCB, errorCB );遞歸刪除目錄
說明:刪除目錄將會刪除其下的所有文件及子目錄 不能刪除根目錄,如果操作刪除根目錄將會刪除目錄下的文件及子目錄,不會刪除根目錄自身。 刪除目錄成功通過succesCB回調返回,失敗則通過errorCB返回。
?
2.DirectoryReader對象
方法:
1.?directoryReader.readEntries( succesCB, errorCB );
說明:獲取當前目錄下的所有文件和子目錄。 獲取操作成功通過succesCB回調返回,失敗則通過errorCB返回。
參數:
succesCB: (?EntrySuccessCallback?) 可選 獲取成功的回調函數,回調函數中返回FileEntry或者DirectoryEntry的數組
errorCB: (?FileErrorCallback) 可選 獲取失敗的回調函數
使用示例:
fs.root.getDirectory('txt_2_rename', { create: false }, function (dirEntry) {var dirReader = dirEntry.createReader();console.info(dirReader);dirReader.readEntries(function (entries) {console.info(entries);}, errorHandler); }, errorHandler);
?
3.File對象
說明:文件系統中的文件數據對象,用于獲取文件的數據
屬性:
size: 文件數據對象的數據大小,單位為字節
type: 文件數據對象MIME類型
name: 文件數據對象的名稱,不包括路徑
lastModifiedDate: 文件對象的最后修改時間
方法:
1.? ?file.slice( start, end );獲取文件指定的數據內容
說明:獲取文件指定的數據內容,其中end必須大于start。
參數:
start: ( Number ) 可選 獲取文件數據的起始位置
end: ( Number ) 可選 獲取文件數據的結束位置
2.?file.close();?關閉文件數據對象
說明:當文件數據對象不再使用時,可通過此方法關閉,釋放系統資源。
二、參數整理
Flags
JSON對象,獲取文件操作的參數
屬性:
create: (Boolean 類型 )是否創建對象標記,指示如果文件或目錄不存在時是否進行創建,默認值為false。
exclusive: (Boolean 類型 )反向操作標記,其本身沒有任何效果,需與create屬性值設置為true時一起使用,如果目標文件或目錄已經存在則會導致文件或目錄打開失敗,默認值為false。
三、URL相關
URLType
文件路徑類型
說明:在文件系統中的文件路徑需轉換成URL格式,已方便runtime快速加載。
RelativeURL
相對路徑URL
說明:只能在擴展API中使用,相對于基座提供的特定目錄,以“_”開頭。
常量:
"_www": (DOMString 類型 )應用資源目錄
保存應用的所有html、css、js等資源文件,與文件系統中根目錄PRIVATE_WWW一致,后面加相對路徑如“_www/res/icon.png”。 注意:應用資源目錄是只讀目錄,只能讀取次目錄下的文件,不能修改或新建。
"_doc": (DOMString 類型 )應用私有文檔目錄
用于保存應用運行期業務邏輯數據,與文件系統中根目錄PRIVATE_DOCUMENTS,如“_doc/userdata.xml”。
"_documents": (DOMString 類型 )程序公用文檔目錄
用于保存程序中各應用間可共享文件的目錄,與文件系統中根目錄PUBLIC_DOCUMENTS,如“_document/share.doc”。
"_downloads": (DOMString 類型 )程序公用下載目錄
用于保存程序下載文件的目錄,與文件系統中根目錄PUBLIC_DOWNLOADS,如“_download/mydoc.doc”。
LocalURL
本地路徑URL
說明:可在html頁面中直接訪問本地資源,以“file:///”開頭,后面跟隨系統的絕對路徑。 如示例:“file:///D:/res/hello.html”。沙盒系統還有以‘filesystem:http://’開頭
RemoteURL
網絡路徑URL
說明:可在html頁面中以網絡資源模式訪問本地資源,以“http://”開頭,后面跟隨相對路徑。 如示例:“http://localhost:13131/_www/res/icon.png”,其中“_www”字段可支持類型與相對路徑URL一致。
?
更多:
HTML5 本地文件操作之FileSystemAPI整理(一)
HTML5 本地文件操作之FileSystemAPI簡介
轉載于:https://www.cnblogs.com/tianma3798/p/6439668.html
總結
以上是生活随笔為你收集整理的HTML5 本地文件操作之FileSystemAPI整理(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个性签名q友
- 下一篇: 天使秒天道无极的阳河蟹了吗?