ファイル

ファイル

読んで、API を書くし、 w3c ファイル apiに基づくファイル システム階層の移動.

オブジェクト

機能へのアクセス

バージョン 3.0 は、コルドバのプラグインとしてデバイス レベルの Api を実装します。 CLI の使用 plugin のコマンドライン ・ インタ フェースを追加または削除、プロジェクトに対してこの機能を記載されているコマンド。

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
    $ cordova plugin rm org.apache.cordova.core.file

ファイル転送プラグインを使用するには、を個別に追加する必要があります。

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git
    $ cordova plugin rm org.apache.cordova.core.file-transfer

これらのコマンドすべてのターゲット プラットフォームに適用されますが、以下のプラットフォームに固有の構成設定を変更します。

いくつかのプラットフォームは特別な構成を必要とせずにこの機能をサポート可能性があります。概要については、プラットフォームのサポートを参照してください。


ファイル

このオブジェクトには、単一のファイルの属性が含まれます。

プロパティ

メソッド

詳細

Fileオブジェクトには、単一のファイルの属性が含まれます。インスタンスを取得することができます、 File を呼び出すことによってオブジェクトが FileEntry オブジェクトの file() メソッド。

サポートされているプラットフォーム

スライス

新しい File オブジェクトを FileReader ファイルの指定した部分のみを返します。 負の値を start または end ファイルの最後から測定されます。 インデックスは、現在のスライスを基準にして配置されます。 (下記の完全な例を参照してください)。

パラメーター:

簡単な例

var slicedFile = file.slice(10, 30);

完全な例

var slice1 = file.slice(100, 400);
var slice2 = slice1.slice(20, 35);

var slice3 = file.slice(120, 135);
// slice2 and slice3 are equivalent.

サポートされているプラットフォーム


FileReader

FileReader基本ファイルへのアクセスを許可します。

プロパティ

注:次の porperty はサポートされていません。

メソッド

詳細

FileReaderオブジェクトは、デバイスのファイル システムからファイルを読み取る方法を提供します。 ファイルは、テキストまたは base64 データ エンコード文字列として読むことができます。 イベント リスナーは、受信、 loadstart 、 progress 、 load 、 loadend 、 error 、および abort イベント。

サポートされているプラットフォーム

readAsDataURL

パラメーター:

簡単な例

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsDataURL(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);

readAsText

パラメーター:

簡単な例

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsText(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);

中止

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function(evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsText(file);
    reader.abort();
};

function fail(error) {
    console.log(error.code);
}

entry.file(win, fail);

完全な例

<!DOCTYPE html>
<html>
  <head>
    <title>FileReader Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    }

    function gotFS(fileSystem) {
        fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
        fileEntry.file(gotFile, fail);
    }

    function gotFile(file){
        readDataUrl(file);
        readAsText(file);
    }

    function readDataUrl(file) {
        var reader = new FileReader();
        reader.onloadend = function(evt) {
            console.log("Read as data URL");
            console.log(evt.target.result);
        };
        reader.readAsDataURL(file);
    }

    function readAsText(file) {
        var reader = new FileReader();
        reader.onloadend = function(evt) {
            console.log("Read as text");
            console.log(evt.target.result);
        };
        reader.readAsText(file);
    }

    function fail(error) {
        console.log(error.code);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Read File</p>
  </body>
</html>

iOS の癖

readAsBinaryString

現在 iOS と Android でのみサポートされています。

パラメーター:

簡単な例

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsBinaryString(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);

readAsArrayBuffer

現在 iOS と Android でのみサポートされています。

パラメーター:

簡単な例

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(new Uint8Array(evt.target.result));
    };
    reader.readAsArrayBuffer(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);

FileWriter

オブジェクトとして作成およびファイルへのデータの書き込みすることができます。

プロパティ

次のプロパティはサポートされていません。

メソッド

詳細

FileWriterオブジェクトは UTF-8 エンコードされたファイルをデバイスのファイル システムに書き込む方法を提供します。 アプリケーション応答を writestart 、 progress 、 write 、 writeend 、 error 、および abort イベント。

各 FileWriter のデータにすることができます書かれる何回も 1 つのファイルに対応しています。 FileWriterファイルの維持する position と length をアプリに許可属性 seek と write ファイルの任意の場所。 既定では、 FileWriter 既存データの上書き、ファイルの先頭に書き込まれます。 オプションの設定 append にブール true で、 FileWriter のコンス トラクターはファイルの末尾に書き込む。

テキスト データは、以下のすべてのプラットフォームでサポートされています。 テキストは、ファイルシステムに書き込まれる前に utf-8 としてエンコードされます。 いくつかのプラットフォームは、バイナリ データを渡すことができるの ArrayBuffer または Blob としてもサポートします。

サポートされているプラットフォーム

テキストおよびバイナリ サポート:

テキストのみのサポート:

簡単な例を求める

function win(writer) {
    // fast forwards file pointer to end of file
    writer.seek(writer.length);
};

var fail = function(evt) {
    console.log(error.code);
};

entry.createWriter(win, fail);

簡単な例を切り捨てる

function win(writer) {
    writer.truncate(10);
};

var fail = function(evt) {
    console.log(error.code);
};

entry.createWriter(win, fail);

簡単な例を書く

function win(writer) {
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write("some sample text");
};

var fail = function(evt) {
    console.log(error.code);
};

entry.createWriter(win, fail);

バイナリ書き込み簡単な例

function win(writer) {
    var data = new ArrayBuffer(5),
        dataView = new Int8Array(data);
    for (i=0; i < 5; i++) {
        dataView[i] = i;
    }
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write(data);
};

var fail = function(evt) {
    console.log(error.code);
};

entry.createWriter(win, fail);

簡単な例を追加します。

function win(writer) {
    writer.onwrite = function(evt) {
    console.log("write success");
};
writer.seek(writer.length);
    writer.write("appended text");
};

var fail = function(evt) {
    console.log(error.code);
};

entry.createWriter(win, fail);

簡単な例を中止します。

function win(writer) {
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write("some sample text");
    writer.abort();
};

var fail = function(evt) {
    console.log(error.code);
};

entry.createWriter(win, fail);

完全な例

<!DOCTYPE html>
<html>
  <head>
    <title>FileWriter Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    }

    function gotFS(fileSystem) {
        fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
        fileEntry.createWriter(gotFileWriter, fail);
    }

    function gotFileWriter(writer) {
        writer.onwriteend = function(evt) {
            console.log("contents of file now 'some sample text'");
            writer.truncate(11);
            writer.onwriteend = function(evt) {
                console.log("contents of file now 'some sample'");
                writer.seek(4);
                writer.write(" different text");
                writer.onwriteend = function(evt){
                    console.log("contents of file now 'some different text'");
                }
            };
        };
        writer.write("some sample text");
    }

    function fail(error) {
        console.log(error.code);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Write File</p>
  </body>
</html>

ファイル ・ システム

このオブジェクトは、ファイル ・ システムを表します。

プロパティ

詳細

FileSystemオブジェクトは、ファイル システムに関する情報を表します。 ファイル システムの名前は公開されているファイル ・ システムのリストの間でユニークです。 Root プロパティが含まれています、 DirectoryEntry ファイルシステムのルート ディレクトリを表すオブジェクト。

サポートされているプラットフォーム

ファイル システムの簡単な例

function onSuccess(fileSystem) {
    console.log(fileSystem.name);
    console.log(fileSystem.root.name);
}

// request the persistent file system
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, null);

完全な例

<!DOCTYPE html>
<html>
  <head>
    <title>File System Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
    }

    function onFileSystemSuccess(fileSystem) {
        console.log(fileSystem.name);
        console.log(fileSystem.root.name);
    }

    function fail(evt) {
        console.log(evt.target.error.code);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>File System</p>
  </body>
</html>

FileEntry

W3C ディレクトリとシステム仕様で定義されているファイル システム上のファイルを表します。

プロパティ

注:次の属性は、W3C の仕様によって定義されますがサポートされます。

メソッド

サポートされているプラットフォーム

getMetadata

ファイルについてのメタデータをご覧ください。

パラメーター:

簡単な例

success(metadata) 関数 {console.log ("最終更新日時:"+ metadata.modificationTime);}関数 fail(error) {alert(error.code);}//このエントリ entry.getMetadata (成功、失敗); のメタデータ オブジェクトをリクエスト

setMetadata

ファイル セットのメタデータ。

現在 iOS でのみ動作します。

パラメーター:

簡単な例

function success() {
    console.log("The metadata was successfully set.");
}

function fail() {
    alert("There was an error in setting the metadata");
}

// Set the metadata
entry.setMetadata(success, fail, { "com.apple.MobileBackup": 1});

iOS の気まぐれ

簡単な例

function setFileMetadata(localFileSystem, filePath, metadataKey, metadataValue)
{
    var onSetMetadataWin = function() {
        console.log("success setting metadata")
    }
    var onSetMetadataFail = function() {
        console.log("error setting metadata")
    }

    var onGetFileWin = function(parent) {
        var data = {};
        data[metadataKey] = metadataValue;
        parent.setMetadata(onSetMetadataWin, onSetMetadataFail, data);
    }
    var onGetFileFail = function() {
        console.log("error getting file")
    }

    var onFSWin = function(fileSystem) {
        fileSystem.root.getFile(filePath, {create: true, exclusive: false}, onGetFileWin, onGetFileFail);
    }

    var onFSFail = function(evt) {
        console.log(evt.target.error.code);
    }

    window.requestFileSystem(localFileSystem, 0, onFSWin, onFSFail);
}

    setFileMetadata(LocalFileSystem.PERSISTENT, "Backups/sqlite.db", "com.apple.MobileBackup", 1);

[moveto]

ファイル システム上の別の場所にファイルを移動します。アプリしようとすると、エラーが発生します。

さらに、既存のファイルの上に移動したファイルを削除し、そのファイルを置き換えるを試みます。

パラメーター:

簡単な例

function success(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function moveFile(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        parentEntry = new DirectoryEntry(parentName, parent);

    // move the file to a new directory and rename it
    entry.moveTo(parentEntry, "newFile.txt", success, fail);
}

copyTo

ファイル システム上の新しい場所にファイルをコピーします。アプリしようとすると、エラーが発生します。

パラメーター:

簡単な例

function win(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function copyFile(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        parentEntry = new DirectoryEntry(parentName, parent);

    // copy the file to a new directory and rename it
    entry.copyTo(parentEntry, "file.copy", success, fail);
}

網

ファイルの検索に使用できる URL を返します。

簡単な例

// Request the URL for this entry
var fileURL = entry.toURL();
console.log(fileURL);

削除

ファイルを削除します。

パラメーター:

簡単な例

function success(entry) {
    console.log("Removal succeeded");
}

function fail(error) {
    alert('Error removing file: ' + error.code);
}

// remove the file
entry.remove(success, fail);

getParent

親を検索 DirectoryEntry ファイルを含みます。

パラメーター:

簡単な例

function success(parent) {
    console.log("Parent Name: " + parent.name);
}

function fail(error) {
    alert(error.code);
}

// Get the parent DirectoryEntry
entry.getParent(success, fail);

createWriter

作成する、 FileWriter オブジェクトによって表されるファイルに関連付けられている、FileEntry.

パラメーター:

簡単な例

function success(writer) {
    writer.write("Some text to the file");
}

function fail(error) {
    alert(error.code);
}

// create a FileWriter to write to the file
entry.createWriter(success, fail);

ファイル

返す、 File ファイルの現在の状態を表すオブジェクトは、この FileEntry を表します。

パラメーター:

簡単な例

function success(file) {
    console.log("File size: " + file.size);
}

function fail(error) {
    alert("Unable to retrieve file properties: " + error.code);
}

// obtain properties of a file
entry.file(success, fail);

DirectoryEntry

W3C ディレクトリとシステム仕様で定義されているファイル システム上のディレクトリを表します。

プロパティ

注:次の属性は、W3C の仕様によって定義されますがサポートされます。

メソッド

次の方法で呼び出し可能な DirectoryEntry オブジェクト。

サポートされているプラットフォーム

getMetadata

ディレクトリに関するメタデータをご覧ください。

パラメーター:

簡単な例

success(metadata) 関数 {console.log ("最終更新日時:"+ metadata.modificationTime);}関数 fail(error) {alert(error.code);}//このエントリ entry.getMetadata (成功、失敗); のメタデータ オブジェクトをリクエスト

setMetadata

ディレクトリの拡張属性、またはメタデータを設定します。現在 iOS でのみ動作します。

パラメーター:

簡単な例

function success() {
    console.log("The metadata was successfully set.");
}

function fail() {
    alert("There was an error in setting the metadata");
}

// Set the metadata
entry.setMetadata(success, fail, { "com.apple.MobileBackup": 1});

iOS の気まぐれ

簡単な例

function setFolderMetadata(localFileSystem, subFolder, metadataKey, metadataValue)
{
    var onSetMetadataWin = function() {
        console.log("success setting metadata")
    }
    var onSetMetadataFail = function() {
        console.log("error setting metadata")
    }

    var onGetDirectoryWin = function(parent) {
        var data = {};
        data[metadataKey] = metadataValue;
        parent.setMetadata(onSetMetadataWin, onSetMetadataFail, data);
    }
    var onGetDirectoryFail = function() {
        console.log("error getting dir")
    }

    var onFSWin = function(fileSystem) {
        fileSystem.root.getDirectory(subFolder, {create: true, exclusive: false}, onGetDirectoryWin, onGetDirectoryFail);
    }

    var onFSFail = function(evt) {
        console.log(evt.target.error.code);
    }

    window.requestFileSystem(localFileSystem, 0, onFSWin, onFSFail);
}

    setFolderMetadata(LocalFileSystem.PERSISTENT, "Backups", "com.apple.MobileBackup", 1);

[moveto]

ファイル システム上の別の場所にディレクトリを移動します。アプリしようとすると、エラーが発生します。

削除し、そのディレクトリを置き換えますしようと、既存の空のディレクトリ上にディレクトリを移動します。

パラメーター:

簡単な例

function success(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function moveDir(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        newName = document.getElementById('newName').value,
        parentEntry = new DirectoryEntry(parentName, parent);

    // move the directory to a new directory and rename it
    entry.moveTo(parentEntry, newName, success, fail);
}

copyTo

ファイル システム上の別の場所にディレクトリをコピーします。アプリしようとすると、エラーが発生します。

ディレクトリ コピーは常に再帰的で、しディレクトリのすべての内容をコピーします。

パラメーター:

簡単な例

function win(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function copyDir(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        newName = document.getElementById('newName').value,
        parentEntry = new DirectoryEntry(parentName, parent);

    // copy the directory to a new directory and rename it
    entry.copyTo(parentEntry, newName, success, fail);
}

網

ディレクトリを検索するために使用できる URL を返します。

簡単な例

// Get the URL for this directory
var dirURL = entry.toURL();
console.log(dirURL);

削除

ディレクトリを削除します。アプリしようとすると、エラーが発生します。

パラメーター:

簡単な例

関数 success(entry) {console.log (「の除去に成功しました」);}fail(error) 関数 {警告 (' ディレクトリの削除中にエラー: ' + error.code);}//削除このディレクトリ entry.remove (成功、失敗);

getParent

親を見て DirectoryEntry ディレクトリを含みます。

パラメーター:

簡単な例

function success(parent) {
    console.log("Parent Name: " + parent.name);
}

function fail(error) {
    alert('Failed to get parent directory: ' + error.code);
}

// Get the parent DirectoryEntry
entry.getParent(success, fail);

createReader

ディレクトリ内のエントリを読み取る新しい DirectoryReader を作成します。

簡単な例

// create a directory reader
var directoryReader = entry.createReader();

getDirectory

作成または、既存のディレクトリを検索します。アプリしようとすると、エラーが発生します。

パラメーター:

簡単な例

success(dirEntry) 関数 {console.log (「ディレクトリ名:"+ dirEntry.name);}fail(error) 機能 {警告 (「新しいディレクトリを作成できません:"+ error.code);}//、既存のディレクトリを取得または entry.getDirectory を既に存在しない場合に作成します ("newDir"{作成: true の場合、排他的な: false}、成功、失敗);

getFile

作成または、ファイルを検索します。アプリしようとすると、エラーが発生します。

パラメーター:

簡単な例

success(fileEntry) 関数 {console.log ("ファイル名:"+ fileEntry.name);}fail(error) 機能 {警告 ("ファイルを取得できませんでした:"+ error.code);}//、既存のファイルを取得または entry.getFile が存在しない場合に作成する ("newFile.txt"{作成: true の場合、排他的な: false}、成功、失敗);

removeRecursively

ディレクトリとそのすべての内容を削除します。 (削除することはできませんファイルを含むディレクトリを削除しようとしています) など、エラーが発生した場合、ディレクトリの内容の一部を削除可能性があります。 アプリしようとすると、エラーが発生します。

パラメーター:

簡単な例

function success(parent) {
    console.log("Remove Recursively Succeeded");
}

function fail(error) {
    alert("Failed to remove directory or it's contents: " + error.code);
}

// remove the directory and all it's contents
entry.removeRecursively(success, fail);

ブラックベリーの癖

失敗する可能性があります、 ControlledAccessException 、次の場合。

解決策: 手動で、または再インストールする前にアプリケーションによって一時ディレクトリはきれいに確認してください。

ソリューション: 再実行して、デバイスから USB ケーブルを外します。


DirectoryReader

W3C ディレクトリとシステム仕様で定義されているファイルと、ディレクトリ内のディレクトリを一覧表示するオブジェクト。

メソッド

サポートされているプラットフォーム

readentries を示す

このディレクトリ内のエントリを読み取る。

パラメーター:

簡単な例

function success(entries) {
    var i;
    for (i=0; i<entries.length; i++) {
        console.log(entries[i].name);
    }
}

function fail(error) {
    alert("Failed to list directory contents: " + error.code);
}

// Get a directory reader
var directoryReader = dirEntry.createReader();

// Get a list of all the entries in the directory
directoryReader.readEntries(success,fail);

ファイル転送

FileTransferオブジェクトをサーバーからダウンロードまたはアップロードすることができます。

プロパティ

メソッド

詳細

FileTransferオブジェクトはマルチパートのポスト http を使用してリモート サーバーにファイルをアップロードする方法を提供します。 HTTP と HTTPS の両方のプロトコルがサポートされます。 省略可能なパラメーターを渡すことによって指定することができます、 FileUploadOptions オブジェクトの upload() メソッド。 成功したアップロード時に、 FileUploadResult オブジェクト、成功時のコールバックに渡されます。 エラーが発生した場合、 FileTransferError オブジェクト エラー コールバックに渡されます。 リモート サーバーからファイルをダウンロードし、デバイスに保存する (iOS と Android) でのみ可能です。

サポートされているプラットフォーム

アップロード

パラメーター:

簡単な例

// !! Assumes variable fileURI contains a valid URI to a text file on the device

var win = function (r) {
    console.log("Code = " + r.responseCode);
    console.log("Response = " + r.response);
    console.log("Sent = " + r.bytesSent);
}

var fail = function (error) {
    alert("An error has occurred: Code = " + error.code);
    console.log("upload error source " + error.source);
    console.log("upload error target " + error.target);
}

var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1);
options.mimeType = "text/plain";

var params = {};
params.value1 = "test";
params.value2 = "param";

options.params = params;

var ft = new FileTransfer();
ft.upload(fileURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);

完全な例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>File Transfer Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

        // Wait for device API libraries to load
        //
        document.addEventListener("deviceready", onDeviceReady, false);

        // device APIs are available
        //
        function onDeviceReady() {
            // Retrieve image file location from specified source
            navigator.camera.getPicture(
                uploadPhoto,
                function(message) { alert('get picture failed'); },
                {
                    quality         : 50,
                    destinationType : navigator.camera.DestinationType.FILE_URI,
                    sourceType      : navigator.camera.PictureSourceType.PHOTOLIBRARY
                }
            );
        }

        function uploadPhoto(imageURI) {
            var options = new FileUploadOptions();
            options.fileKey="file";
            options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
            options.mimeType="image/jpeg";

            var params = {};
            params.value1 = "test";
            params.value2 = "param";

            options.params = params;

            var ft = new FileTransfer();
            ft.upload(imageURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);
        }

        function win(r) {
            console.log("Code = " + r.responseCode);
            console.log("Response = " + r.response);
            console.log("Sent = " + r.bytesSent);
        }

        function fail(error) {
            alert("An error has occurred: Code = " + error.code);
            console.log("upload error source " + error.source);
            console.log("upload error target " + error.target);
        }

        </script>
</head>
<body>
    <h1>Example</h1>
    <p>Upload File</p>
</body>
</html>

設定アップロード ヘッダー

Android と iOS でサポートされています。

function win(r) {
    console.log("Code = " + r.responseCode);
    console.log("Response = " + r.response);
    console.log("Sent = " + r.bytesSent);
}

function fail(error) {
    alert("An error has occurred: Code = " + error.code);
    console.log("upload error source " + error.source);
    console.log("upload error target " + error.target);
}

var uri = encodeURI("http://some.server.com/upload.php");

var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=fileURI.substr(fileURI.lastIndexOf('/')+1);
options.mimeType="text/plain";

var headers={'headerParam':'headerValue'};

options.headers = headers;

var ft = new FileTransfer();
ft.upload(fileURI, uri, win, fail, options);

Android の癖

設定、 chunkedMode オプションを false Nginx のサーバーへのアップロードの問題を防ぐために。

ダウンロード

パラメーター:

簡単な例

// !! FilePath はデバイス var 出色で有効なパスと見なされます = 新しい FileTransfer();var uri = encodeURI ("http://some.server.com/download.php");fileTransfer.download (uri、filePath、function(entry) {console.log ("ダウンロードが完了しました:"+ entry.fullPath);}、function(error) {console.log (「ダウンロード エラー ソース」+ error.source);console.log (「ダウンロード エラー ターゲット」+ error.target);console.log (「アップロード エラー コード」+ error.code);}、false {ヘッダー: {「承認」:「基本的な dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA = ="}});

中止

進行中の転送を中止します。Onerror コールバックが FileTransferError.ABORT_ERR のエラー コードを持っている FileTransferError オブジェクトに渡されます。

サポートされているプラットフォーム

簡単な例

// !! 可変 fileURI デバイス var 勝利上のテキスト ファイルを有効な URI が含まれている前提としています function(r) = {console.log (「呼び出すことはできません」);}。var の失敗 function(error) = {//error.code FileTransferError.ABORT_ERR 警告 = = ("エラーが発生しました: コード ="+ error.code);console.log (「アップロード エラー ソース」+ error.source);console.log (「アップロード エラー ターゲット」+ error.target);}var のオプション = 新しい FileUploadOptions();options.fileKey="file";options.fileName="myphoto.jpg";options.mimeType="image/jpeg";var ft = 新しい FileTransfer();ft.upload fileURI、encodeURI ("http://some.server.com/upload.php")、勝利、失敗する (オプション);ft.abort();

onprogress

新しいデータのチャンクを転送するたびに、ProgressEvent と呼ばれます。

サポートされているプラットフォーム

例

fileTransfer.onprogress = function(progressEvent) {
    if (progressEvent.lengthComputable) {
      loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
    } else {
      loadingStatus.increment();
    }
};
fileTransfer.download(...); // or fileTransfer.upload(...);

癖- 両方、iOS、Android 上 lengthComputable は false のダウンロード gzip エンコーディングを使用します。


FileUploadOptions

A FileUploadOptions オブジェクトに渡すことができます、 FileTransfer オブジェクトの upload() メソッドをアップロード スクリプトに追加のパラメーターを指定します。

プロパティ

説明

A FileUploadOptions オブジェクトに渡すことができます、 FileTransfer オブジェクトの upload() メソッドをアップロード スクリプトに追加のパラメーターを指定します。

WP7 気まぐれ


FileUploadResult

A FileUploadResult オブジェクトの成功時のコールバックに渡される、 FileTransfer オブジェクトの upload() メソッド。

プロパティ

説明

FileUploadResultの成功時のコールバックを介してオブジェクトが返されます、 FileTransfer オブジェクトの upload() メソッド。

iOS の癖


フラグ

引数が指定されて、 DirectoryEntry オブジェクトの getFile() と getDirectory() 方法を調べたり、ファイルとディレクトリをそれぞれ作成します。

プロパティ

サポートされているプラットフォーム

簡単な例

//が存在しない場合に作成するデータ ディレクトリを取得します。
dataDir fileSystem.root.getDirectory = (「データ」{作成: true});//が存在しない場合にのみ、ロック ファイルを作成します。
ロックファイル dataDir.getFile = ("lockfile.txt"{作成: true の場合、排他的な: true});

LocalFileSystem

このオブジェクトは、ルート ・ ファイル ・ システムを取得する方法を提供します。

メソッド

定数

詳細

LocalFileSystemオブジェクトのメソッドで定義されて、 window オブジェクト。

サポートされているプラットフォーム

ファイル システムの簡単な例を要求します。

function onSuccess(fileSystem) {
    console.log(fileSystem.name);
}

// request the persistent file system
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);

ローカル ファイル システム URI のクイック例を解決します。

function onSuccess(fileEntry) {
    console.log(fileEntry.name);
}

window.resolveLocalFileSystemURI("file:///example.txt", onSuccess, onError);

完全な例

<!DOCTYPE html>
<html>
  <head>
    <title>Local File System Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
        window.resolveLocalFileSystemURI("file:///example.txt", onResolveSuccess, fail);
    }

    function onFileSystemSuccess(fileSystem) {
        console.log(fileSystem.name);
    }

    function onResolveSuccess(fileEntry) {
        console.log(fileEntry.name);
    }

    function fail(evt) {
        console.log(evt.target.error.code);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Local File System</p>
  </body>
</html>

requestFileSystem

アプリケーション データを格納するファイル システムを要求します。

 window.requestFileSystem(type, size, successCallback, errorCallback)

ファイル システムの簡単な例を要求します。

function onSuccess(fileSystem) {
    console.log(fileSystem.name);
}

// request the persistent file system
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);

メタデータ

ファイルまたはディレクトリの状態に関する情報を提供するインターフェイスです。

プロパティ

詳細

Metadataオブジェクトは、ファイルまたはディレクトリの状態に関する情報を表します。 呼び出して、 DirectoryEntry または FileEntry オブジェクトの getMetadata() メソッドの結果、 Metadata インスタンス。

サポートされているプラットフォーム

簡単な例

function win(metadata) {
    console.log("Last Modified: " + metadata.modificationTime);
}

// Request the metadata object for this entry
entry.getMetadata(win, null);

FileError

A FileError オブジェクト ファイル API メソッドのいずれかでエラーが発生したときに設定されます。

プロパティ

定数

説明

FileErrorオブジェクトが File API エラー コールバックのいずれかに提供される唯一のパラメーターです。 エラーの種類を決定する比較その code プロパティの上記のリストのいずれかを使用します。


FileTransferError

A FileTransferError オブジェクトは、エラーが発生エラー コールバックに渡されます。

プロパティ

定数

説明

FileTransferErrorオブジェクトは、ファイルのダウンロードまたはアップロードするときにエラーが発生エラー コールバックに渡されます。