日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

HTML5 本地文件操作之FileSystemAPI整理(一)

發布時間:2025/5/22 HTML 145 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTML5 本地文件操作之FileSystemAPI整理(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、請求配額

DeprecatedStorageInfo對象

window.webkitStorageInfo:當使用持久存儲模式時需要用到該對象的接口

方法:

1.requestQuota(type,size,successCB,errorCB);請求配額

2.queryUsageAndQuota();獲取配額信息

window.requestFileSystem(window.PERSISTENT, gratedBytes, initFs, errorHandler);

DOMFileSystem對象

文件系統對象,用于管理特定本地文件目錄

說明:文件系統對象表示一個應用可訪問的根目錄。name屬性用于標識此根目錄的名稱,與LocalFileSystem中的文件系統類型一一對應。root屬性為文件目錄對象,用于實際操作文件系統,參考DirectoryEntry。

屬性:

1.name:當前沙盒系統名稱,協議、域名、端口+操作類型

2.root:當前沙盒系統的根目錄對象DirectoryEntry

二、文件操作

1.FileEntry

屬性:

1.name:文件名稱,包括擴展名

2.fullPath:相對沙盒根目錄的全名稱

3.isFile:是否是文件,FileEntry對象固定為true

4.isDirectory:是否是文件夾,FileEntry對象固定為false

5.filesystem:當前fs(FileSystem對象)的引用

方法:

fileEntry.getMetadata(successCallback, opt_errorCallback); fileEntry.remove(successCallback, opt_errorCallback); fileEntry.moveTo(dirEntry, opt_newName, opt_successCallback, opt_errorCallback); fileEntry.copyTo(dirEntry, opt_newName, opt_successCallback, opt_errorCallback); fileEntry.getParent(successCallback, opt_errorCallback); fileEntry.toURL(opt_mimeType); fileEntry.file(successCallback, opt_errorCallback); fileEntry.createWriter(successCallback, opt_errorCallback);

1.entry.getMetadata( successCB, errorCB ),獲取文件信息

MetadataSuccessCallback

獲取文件或目錄狀態信息成功的回調函數,獲取文件信息成功返回Metadata對象,詳細參考見下面。

void onSuccess( metadata ) { // Metadata code. }

2.? entry.moveTo( parent, newName, succesCB, errorCB ); 移動文件

說明:以下情況移動目錄將會導致失敗: 要移動到的目標目錄無效; 要移動到的目標路徑被其它文件占用; 移動文件成功通過succesCB回調返回,失敗則通過errorCB返回。

參數:

parent: ( DirectoryEntry ) 必選 要移動到的目標目錄

newName: ( DOMString ) 可選 移動后的文件名稱,默認為原始文件名稱

succesCB: ( EntrySuccessCallback ) 可選 移動文件成功的回調函數

回調函數中的參數保存新的文件對象。

errorCB: ( FileErrorCallback ) 可選 移動文件失敗的回調函數

3.? entry.copyTo( parent, newName, succesCB, errorCB );??拷貝文件

4.? DOMString entry.toURL();?獲取文件路徑轉換為URL地址,返回‘filesytem:http://’格式

5.?DOMString entry.toLocalURL();: 獲取文件路徑轉換為本地路徑URL地址,測試時沒有該方法

6.?DOMString entry.toRemoteURL();獲取文件路徑轉換為網絡路徑URL地址,測試時沒有該方法。

7.entry.remove( succesCB, errorCB ); 刪除文件

8.? entry.getParent( succesCB, errorCB );?獲取文件所屬的父目錄

9.? ?entry.createWriter( succesCB, errorCB );??獲取文件關聯的寫文件操作對象FileWriter,在FileWriterSuccessCallback 參數中返回

10.? entry.file( succesCB, errorCB );獲取文件數據對象,在FileSuccessCallback 參數總獲取

11.

2.FileWriter對象

屬性:

1.readyState:當前文件讀取寫入狀態,常量值如下:

  • INIT: 值為0,寫文件初始化狀態
  • WRITING: 值為1,正在寫入文件狀態
  • DONE: 值為2,寫文件操作完成狀態

2.position:當前操作指針位置

3.length:當前寫入文件的長度,字節數

4.error:異常

方法:

1.seek(number):將寫入流,指針移動到指定位置,說明:定位文件的操作位置,有效值為0到文件的總長度減1。 0表示文件的起始位置。

2.abort():終止寫入,說明:寫入文件數據操作開始后,可通過此方法取消寫入文件數據操作。調用此方法后將觸發文件寫入對象的onabort事件。

3.truncate(number):按照指定長度截斷文件。

4.write(data):從文件當前定位的位置開始,寫入數據到文件中。 如果文件中已經存在數據,新寫入的數據將覆蓋已有數據

data:File對象,Blob對象,DOMString類型。

5.

事件:

  • onwritestart: 寫入文件開始時的回調函數
  • onprogress: 寫入文件過程中的回調函數
  • onwrite: 寫入文件成功完成的回調函數
  • onabort: 取消寫入文件時的回調函數
  • onerror: 文件寫入操作失敗時調用的回調函數
  • onwriteend: 文件寫入操作完成時的回調函數

3.FileReader對象,參考:http://www.cnblogs.com/tianma3798/p/5836484.html

?

三、參數對象

Metadata

JSON對象,保存文件或目錄的狀態信息對象

說明:可通過DirectoryEntry或FileEntry對象的getMetaData方法獲取

屬性:

modificationTime: (Date 類型 )文件或目錄的最后修改時間

size: (Number 類型 )文件的大小,若獲取的是目錄對象的屬性則值為0。

directoryCount: (Number 類型 )包含的子目錄數,若自身是文件則其值為0。測試時不可用

fileCount: (Number 類型 )目錄的文件數,若自身是文件則其值為0。測試時不可用

?

更多:

HTML5 本地文件操作之FileSystemAPI簡介

?

總結

以上是生活随笔為你收集整理的HTML5 本地文件操作之FileSystemAPI整理(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。