ホームページ ウェブフロントエンド H5 チュートリアル HTML5 ファイルシステム API の使用の概要_html5 チュートリアル スキル

HTML5 ファイルシステム API の使用の概要_html5 チュートリアル スキル

May 16, 2016 pm 03:49 PM
api html5

HTML5 の強みの 1 つは、Web プログラムがデータの保存やファイル操作さえも実行できる一時的または永続的なスペース (クォータ) を適用できることです。

FileSystem は、フォルダーやファイルの作成、移動、削除などの操作を提供します。これにより、データのローカル処理が大幅に容易になります。また、すべてのデータはサンドボックス内にあり、異なる Web プログラムが相互にアクセスすることはできません。データの整合性とセキュリティ。

CatWrite プロジェクトでは、HTML5 のこの機能がデータの保存に使用されており、非常に便利ですが、現時点では Chrome ブラウザーのみが FileSystem API をより適切にサポートしているため、Chrome ブラウザーでのみ実行できます。

この機能を完成させるにあたり、多くの情報を参照しましたが、ブラウザのバージョンの変更に伴い、一部のコードが古くなっているため、ここで一つずつ要約して整理します。ここにはプロジェクトで使用される API のみがリストされており、完成した機能の概要が示されています。

スペースの申請
データを保存するには、ブラウザに申請する必要があります。永続的な保存の場合は、ユーザーに要求され、同意した場合にのみ実行が続行されます。

まず、必要な権限を宣言する必要があります。

コードをコピーします
コードは次のとおりです:

window.requestFileSystem = window。 requestFileSystem || window.webkitRequestFileSystem; // ファイル システム リクエストの識別
window.resolveLocalFileSystemURL = window.webkitResolveLocalFileSystemURL; // URL に基づいてファイルの読み取り権限を取得します。 >システムの許可を取得後、ブラウザからスペース申請が可能です



コードをコピー
コードは以下の通りです。
window.requestFileSystem(window.PERSISTENT, //永続的(永続) または一時的(一時的)
1024*1024, //1M
onInitFs, // 成功後のコールバック関数
errorHandler); //エラー後 コールバック関数




コードをコピー

コードは次のとおりです:
function onInitFs(fs){ fs.root.getDirectory('catwrite_documents', {create: true}, function(dirEntry) { console .log('' dirEntry. name ' ディレクトリが作成されました。');
}, errorHandler)
}
//エラー コールバック
関数 errorHandler(err){
var msg = 'エラーが発生しました: ';
switch (err.code) {
case FileError.NOT_FOUND_ERR:
msg = 'ファイルまたはディレクトリが見つかりません'; FileError.NOT_READABLE_ERR:
msg = 'ファイルまたはディレクトリが読み取れません';
case FileError.PATH_EXISTS_ERR:
msg = 'ファイルまたはディレクトリが存在します'; > case FileError.TYPE_MISMATCH_ERR:
msg = ' 無効なファイルタイプ';
デフォルト:
msg = '
ブレーク; .log(msg err);
}


成功した場合は、OnInitFs コールバック関数を呼び出して、getDirectory メソッドを使用してフォルダーを作成したことを後悔することになります (これについては後述します)。

しかし、これを行うと、ページがロードされるたびに適用されてしまいます。これは、データがあるときにデータを読み取ることができるようにすることを目的としたものではありません。


スペースが適用されているかどうかを確認します

そのため、ブラウザのデータを読み取って、データが保存されているかどうかを確認する必要があります。これは別の API を使用します:




コードをコピーします

コードは次のとおりです:

void queryUsageAndQuota(
in DOMString url,
in EntryCallback successCallback,
in オプションの ErrorCallback errorCallback
);

この API は、現在の Web のスペース ステータスをクエリできます。成功した場合、successCallback コールバック関数が呼び出され、使用済みスペースと合計スペースがパラメータとしてメソッドに渡されます。失敗した場合は、errorCallback が呼び出されます。
コードをコピーします


コードは次のとおりです:

window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.PERSISTENT,
function(used, left){
if(remaining == ""){
console.log("スペースが適用されていません。 ");
}else{
console.log("使用済みスペース" used);
console.log("すべてのスペース" 残り);
}
},
errorHandler );


残りのパラメータを判断することで、アプリケーションスペースがあるかどうかを判断できます。アプリケーションがない場合は、前のステップに戻ってスペースを申請します。 すでにスペースがある場合は、データを操作するためにスペースとファイルを取得する必要があります。

ファイル エントリの取得
ファイル システムは特殊なファイル システムを使用しており、サンドボックス内のファイルには、対応する形式のアクセスのみを使用できます。

ブラウザに次のように入力します:

?ファイルシステム:http://catcoder.com/persistent/

このようにして、このマシン上の catcoder.com Web サイトの永続データにアクセスして、一時スペースを読み取ることができます。

次に、URL と対応する API を通じてファイルのエントリを取得できます (ローカル URL でファイルまたはディレクトリのエントリを検索できます)。

コードをコピーします
コードは次のとおりです:

voidsolveLocalFileSystemURL(
DOMString url 、
EntryCallback successCallback、
オプションの ErrorCallback errorCallback
);



コードをコピーしますコードは次のとおりです:
var url = "filesystem:http: //" window.location.host "/persistent/catwrite_documents/";
window.resolveLocalFileSystemURL(url,function(fileEntry){
console.log(fileEntry);
var dirReader = fileEntry.createReader( );
var readEntries = function(){
dirReader.readEntries(function(results){
if(!results.length){
create_file_title("デフォルト ファイル", "");
console.log ("ファイルがありません!");
}else{
console.log("Read results.length "files");
for(var i = 0; i < results . length; i ){
console.log(results[i].name);
getFileContentByName(fileEntry, results[i].name); ) ;
};
readEntries()
},
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles